<分区>
我有一个相当大的开源类,我需要将其从静态转换为非静态。
我需要这样做的原因是让它线程安全;我想要每个线程一个类的副本。
一般来说,将 C# 库从静态库转换为非静态库的推荐步骤是什么?
<分区>
我有一个相当大的开源类,我需要将其从静态转换为非静态。
我需要这样做的原因是让它线程安全;我想要每个线程一个类的副本。
一般来说,将 C# 库从静态库转换为非静态库的推荐步骤是什么?
最佳答案
我已将数据层从静态类升级到无静态类。所以
第 1 步:删除类和方法上的“static”关键字
第二:在你的旧静态类中也添加一个单例
public class Foo
{
#region Singleton
Foo()
{
}
public static Foo Instance
{
get
{
return Nested.instance;
}
}
class Nested
{
static Nested() { }
internal static readonly Foo instance = new Foo();
}
#endregion
第三:用 Foo.Instance.DoSomething() 代替 Foo.DoSomething() 替换每次调用你的类
第四:编译获利
关于c# - 将大类从静态转换为非静态的步骤是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7676533/