无法显式调用operator或accessor和static

时间:2017-07-07 10:02:21

标签: c# setter

我有两个愚蠢的问题:

第一个:

我已经问过这个了,我真的很抱歉再次问它(更多是因为有很多关于它的帖子),但现在我真的不明白为什么即使我读了其他的话也会发生这种情况发布,这是我的代码:

public class PageTitre {
    ...
    public void situation(string s) {
        onglet.get_Range("C11").Value = "(" + s + ")";
    }
}

public class PPE_Process {

    public static PageTitre pageTitre;

    public static void MainProcess() {
        ...
        pageTitre = new PageTitre();
        ...
    }
}

public partial class PPE_Ribbon {
    private void SituationEditBox_TextChanged(object sender, RibbonControlEventArgs e)
    {
        PPE_Process.pageTitre.situation(SituationEditBox.Text);
    }
} 

我尝试过其他一些事情,例如将情境作为PageTitre的变量,并设置getset,以及

private void SituationEditBox_TextChanged(object sender, RibbonControlEventArgs e)
    {
        PPE_Process.pageTitre.set_situation(SituationEditBox.Text);
    }

private void SituationEditBox_TextChanged(object sender, RibbonControlEventArgs e)
    {
        PPE_Process.pageTitre.situation = SituationEditBox.Text;
    }

但没有任何效果,但同样的错误:无法明确调用运算符或访问者

我想static存在问题?如果是这种情况,这是我的第二个问题:

第二个:

我阅读了很多关于它的文档,但是我真的无法理解“静态”的用法是什么......是不是因为我们无法改变类之外的值,或类似的东西?那么,如果我取消代码中的每个static,它真的会改变一些东西吗?

再一次,我很抱歉你必须一次又一次地回答这个问题,但是如果这与我的代码直接相关,而不是某人就某些其他随机代码回答别人的问题,我会理解得更好比我的问题。 :/

修改以添加更多信息:

.Value.get_Range应该没有任何问题,因为它适用于代码的其他部分,但 对于.Value,以下是Visual Studio提供的信息:

void Range.set_Value([object RangeValueDataType = System.Type.Missing],[object value = System.Type.Missing])

对于.get_Range Excel.Range_Worksheet.get_Range(对象Cell1,[object Cell2 = System.Type.Missing])

对于static,我仍然不太了解所有这些“实例”的内容,但如果我仍然不愿意,我会在此论坛中尝试查看更多,并添加其他问题在此之后不明白。

2 个答案:

答案 0 :(得分:0)

关于你的第一个问题:我没有看到你调用方法situation时遇到任何问题,可能问题是里面的语句方法({{1} })?

关于第二个问题:当你创建一个变量/ property / method get_Range("C11")时,它意味着它独立于类的任何实例(对象)。否则,如果没有static的实例,您将无法访问该媒体资源PPE_Process.pageTitre

答案 1 :(得分:-1)

好吧,我在代码中没有改变任何内容,但现在它可以用

<cfloop>

所以...我不知道,这可能是我的解决方案构建的一个问题,但这非常幸运:)