Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用类而不创建新实例_C#_Wpf - Fatal编程技术网

C# 使用类而不创建新实例

C# 使用类而不创建新实例,c#,wpf,C#,Wpf,我想在我的主页上取一个字符串,然后把它放在我的类中,这样我就可以在下一个窗口中获取它。我的类很简单,如下所示: 名称:电子表格 private string itemType; public string ItemType { get { return itemType; } set { itemType = value; } } 如果我创建了一个新实例,我可以很好地修改它,但这会删除其中的所有内容-我不希望这样。我用这句话来调

我想在我的主页上取一个字符串,然后把它放在我的类中,这样我就可以在下一个窗口中获取它。我的类很简单,如下所示:

名称:电子表格

    private string itemType;

    public string ItemType
    {
        get { return itemType; }
        set { itemType = value; }
    }
如果我创建了一个新实例,我可以很好地修改它,但这会删除其中的所有内容-我不希望这样。我用这句话来调用这个类:

private Spreadsheet ss = new Spreadsheet();
当我调用此方法时,我创建了一个新实例
new Spreadsheet()
,它错误地将所有字符串置为null。我怎样才能避免这种情况呢?

就像泰勒·戴说的那样


我想您可能正在寻找静态关键字泰勒日

这解决了我的问题 将私有字符串itemType转换为私有静态字符串itemType是我遗漏的:)


要解释为什么静态字段是每个类型而不是每个实例的类级变量,请将字符串和属性标记为static。我想您可能正在查找static关键字。我想您可能希望在视图(或窗口)之间共享资源。我建议使用单一服务或共享服务(使用MEF),请澄清您的意思。从模糊的描述来看,您真正需要做的就是将字符串从现有窗口传递到新窗口(“下一个窗口”)。但是如果不清楚地说明窗口之间的关系,以及当您希望传递数据时,就不可能提供一个好的答案。另外,请阅读本书,以获得关于如何以清晰、负责的方式表达问题的建议。虽然键入的内容不多,但我确实在示例中添加了额外的1行,这只是静态成员的定义。。。这就是他们的目的(没想到这是1.5年前的事了!)。