如题。
本人菜鸟,高分求解,附代码最好
本人菜鸟,高分求解,附代码最好
解决方案 »
- 用C#求解数学方程
- C# 两表的结构不同,选取字段加入另一个表
- 求广州腾讯笔试题选做题一的解决方案
- 事件传递的问题--COM传事件给实现层,实现层传事件给抽象层,抽象层传事件给表面层?
- page困绕我
- 请问一下,这样的函数(变量+"round"(string a))如何调用呢?
- pop协议程序请教
- 如何将一个C#程序绑在一个doc文档上?
- 使用的方法为:Clipboard.GetDataObject() 我想在类里面使用但是提示为NULL
- pictureBox的Image属性赋值后怎样取消?
- |ZYCWPF| 在MVVM中声明了一个事件,那如何用代码去调用这个事件 有示例代码 谢谢
- 接口和抽象类接口和抽象类有什么区别
{
public static readonly Singleton Instance = new Singleton();
private Singleton() { }
}
比如:有Form1、Form2两个窗体,和一个Client负责和服务端通讯的类,当Form1需要与服务器通讯时,需要实例化Client,才能使用Client的方法,当Form2与服务器通讯的时候又要实例化后,才能调用方法,请问如何能在程序Main方法时就实例化Client,form1和Form2无需实例化,直接调用具体方法即可!!
谢谢,求教了!
public class Singleton
{
private static Singleton instance;
private static object my_lock = new object(); private Singleton()
{ } public static Singleton GetInstance()
{
if (instance == null)
{
lock (my_lock)
{
if (instance == null)
{
instance = new Singleton();
}
}
}
return instance;
}
public void DoYourWork()
{
//Todo: 这里写你自己的功能逻辑代码即可
}
}这是懒汉式的单例模式,楼上的 SocketUpEx ,其实已经给出了方案了,这里只是给你详细化了,解决了多线程安全的问题,如果不需要,直接去掉lock相关的代码即可;
下面是测试的代码class Program
{
static void Main(string[] args)
{
Singleton myinstant = Singleton.GetInstance();
myinstant.DoYourWork();
Singleton myinstant_1 = Singleton.GetInstance();
if (myinstant == myinstant_1)
{
Console.WriteLine("这里其实就是一个实例;");
}
Console.Read();
}
}