我有两个课程
setSort()
我需要在整个项目中保留一些常用数据。为此,我使用了一个应用程序变量并保存了 public class DemoProperty
{
public int ID { get; set; }
public string Title { get; set; }
public string MenuCode { get; set; }
public string OriginalURL { get; set; }
}
public class MyCommonProperties
{
private static List<DemoProperty> _DemoList;
public static List<DemoProperty> DemoList
{
get { return _DemoList; }
set { _DemoList = value; }
}
}
。
Global.asx
Dictionary<string,List<DemoProperty>>
实际上我对它的缺点了解得更多。如果这是一个坏主意,请你建议我一个好主意。
答案 0 :(得分:-2)
如果您需要保存静态数据,可以使用以下内容:
public static class StaticVals
{
public static Dictionary<string,string> StaticDictionary;
}
正如我所理解的,你传递的是一个对象的引用,你可以在其中保存运行时数据。更简单的方法是使用属性或使用static
关键字的类:这样可以确保此特定类或属性只在您的应用程序中存在一次。
您可以在此处阅读更多内容:http://www.codeproject.com/Articles/15269/Static-Keyword-Demystified
不使用static
类的替代方法,例如,如果需要多个配置,则使用单例模式。此模式确保只存在给定类型的单个实例。关于单身人士的更多信息:http://www.oodesign.com/singleton-pattern.html
这种模式的一个简单例子是
public class StaticVals
{
private static StaticVals _instance;
public static StaticVals Instance
{
get
{
if (_instance == null)
_instance = new StaticVals();
return _instance;
}
}
public Dictionary<string, string> StaticDictionary;
}
注意static
关键字如何从属性和类中消失,这意味着您可以像任何普通对象一样为测试目的创建对象。您可以使用
StaticVals.Instance.StaticDictionary