C# 单例类是什么
答案:2 悬赏:0
解决时间 2021-02-22 03:41
- 提问者网友:書生途
- 2021-02-21 21:11
C# 单例类是什么
最佳答案
- 二级知识专家网友:猎心人
- 2021-02-21 21:59
一般是将构造方法设置为private方法,
然后提供一个public static 的GetInstance方法,这个方法内部会调用私有的构造方法来构造唯一的实例。
//===================
using System;
using System.Collections.Generic;
public class MyClass
{
public static void Main()
{
SingleInstanceClass single=SingleInstanceClass.GetInstance("张三");
Console.WriteLine(single.Name);
Console.Read();
//single=new SingleInstanceClass();
//error,“SingleInstanceClass.SingleInstanceClass(string)”不可访问,因为它受保护级别限制
}
}
class SingleInstanceClass
{
private SingleInstanceClass(string name)
{
this.name=name;
}
private string name;
public string Name
{
get{return name;}
}
private static SingleInstanceClass singleInstance = null;
public static SingleInstanceClass GetInstance(string name)
{
if(singleInstance==null)
{
singleInstance=new SingleInstanceClass(name);
}
return singleInstance;
}
}
然后提供一个public static 的GetInstance方法,这个方法内部会调用私有的构造方法来构造唯一的实例。
//===================
using System;
using System.Collections.Generic;
public class MyClass
{
public static void Main()
{
SingleInstanceClass single=SingleInstanceClass.GetInstance("张三");
Console.WriteLine(single.Name);
Console.Read();
//single=new SingleInstanceClass();
//error,“SingleInstanceClass.SingleInstanceClass(string)”不可访问,因为它受保护级别限制
}
}
class SingleInstanceClass
{
private SingleInstanceClass(string name)
{
this.name=name;
}
private string name;
public string Name
{
get{return name;}
}
private static SingleInstanceClass singleInstance = null;
public static SingleInstanceClass GetInstance(string name)
{
if(singleInstance==null)
{
singleInstance=new SingleInstanceClass(name);
}
return singleInstance;
}
}
全部回答
- 1楼网友:大漠
- 2021-02-21 23:16
就是在类整个运行过程各种只会产生一个实例~
追问:用法
追问:用法
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |