什么是C / C ++全局变量的等价物?

时间:2013-12-10 21:49:03

标签: c# wpf datagrid

我是C#的新手。来自C / C ++环境。我的应用程序有List<Model>,这是不同类别所需要的。问题是副本不会这样做,因为这句话:

dataGrid.ItemsSource = myModelList;

要求原始地址。我尝试更改一些参数并将该特定变量作为ref传递,但只要它被赋予等号,我就会得到一个副本。正确的吗?

3 个答案:

答案 0 :(得分:2)

你可以把它变成单身人士。 然而,整个地方需要一个具体的清单会让我认真考虑我的设计。

至少你应该考虑编写一个类来控制对列表的访问(添加,删除,清除等),并使其成为“全局”,否则你将深入到棕色的东西,直到它击中了粉丝。

答案 1 :(得分:1)

您可以为其创建一个公共类,其中包含一个公共静态列表。然后你可以随处访问。

例如

public class FakeGlobal
{
    public static List<Model> MyModelList = new List<Model>();
}

甚至将其作为getter / setter的属性。

答案 2 :(得分:1)

创建一个公共类,并让您希望在类中声明为static的内容。然后只需将其作为NameOfClass.NameOfMethod()

访问
public class NameOfClass
{
    public static RETURNTYPE NameOfMethod()
    {
        // Your Code
    }
}