属性引用对象类型是同一类的类

时间:2012-06-28 13:13:10

标签: c# .net class types attributes

我想分析一下给我进化的源代码。 在这段代码中,我有一个类,其属性类型与同一类的相同类型。

我不明白这个开发的功能是什么。编译器没问题但是这段代码中有无穷大引用?

示例:

public sealed class CachingServiceLocator : IDisposable
{

    private Hashtable cache; /// Le cache des références vers les services métiers
    private static volatile CachingServiceLocator me; /// L'unique instance du Service Locator

    /// Le constructeur statique
    static CachingServiceLocator()
    {
        try
        {
            me = new CachingServiceLocator();
        }
        catch (Exception)
        {
            MessageBox.Show("Impossible de créer le service locator...\nVeuillez accepter toutes nos excuses pour le désagrément occasionné..." , "Service Locator !", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

请你帮我理解这个发展。

1 个答案:

答案 0 :(得分:2)

这是Singleton Pattern的经典实现。通过这种方式确定,只为该类类型创建了一个对象(例如,记录器,配置类通常是单例)

还有其他一些你可能错过的东西,比如这种类型的实例构造函数必须是私有的,它自己的类是密封的等等。

所以你不能这样做

CachingServiceLocator  obj = new CachingServiceLocator() //not allowed

//to get the instance you have to do as following
CachingServiceLocator obj = CachingServiceLocator.me

Singleton Pattern