6

我需要在运行时使用静态类来保存一些简单的值:

public static class Globals
{
    public static string UserName
    { get; set; }

     ...more properties
}

我现在需要存储一个对象列表 - 根据我定义的类键入。这个 List 将被重新用于不同的 Object 类型,所以我想把它定义为 Generic。
这就是我卡住的地方:如何在静态类中定义一个属性,该属性将在应用程序执行的不同时间包含不同类型的列表?

需要是这样的:

    public List<T> Results {get; set;}
4

1 回答 1

10

您需要将您的类定义为通用类。

public static class Globals<T>
{
    public static string UserName
    { get; set; }
    public static List<T> Results { get; set; }

}

稍后您可以像这样使用它:

Globals<string>.Results = new List<string>();

此外,您的财产Results必须是私有的。您可以考虑公开您的方法以与列表交互,而不是通过属性公开列表。

请参阅:C#/.NET 基础知识:返回不可变集合

于 2012-12-14T09:13:13.860 回答