如何使用C#实现单例类的继承

 我来答
百度网友154139e
2016-11-29 · TA获得超过413个赞
知道小有建树答主
回答量:295
采纳率:50%
帮助的人:251万
展开全部

可以继承,用泛型,Where class new(), 例子:

public class SingletonExample<T> where T : class, new()
{
    private static T _instance;
    private static readonly object syslock = new object();
    public static T getInstance()
    {    //线程安全锁
        if (_instance == null)
        {
            lock (syslock)
            {
                if (_instance == null)
                {
                    _instance = new T();
                }
            }
        }
        return _instance;
    }  
}

然后你子类要泛型一下

public class Two : SingletonExample<Two>
{
    public void Show()
    {
        Console.WriteLine("Two Sub class.......");
    }
}

然后你调用就这样子

Two.getInstance().Show();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式