zoukankan      html  css  js  c++  java
  • dhl:C# 静态属性和实例属性

    当属性声明包含 static 修饰符时,称该属性为静态属性。当不存在 static 修饰符时,称该属性为实例属性。

    静态属性不与特定实例相关联,因此在静态属性的访问器内引用 this 是编译时错误。

    静态属性和方法都不能在实例化的对象中引用,而且静态属性和静态方法都不能使用this关键字来加以限定,而只能用类名来加以限定。在调用静态方法时直接使用类引用即可。

    静态属性实例代码:

            public static RepositoryFactory Singleton
            {
                get { return GetInstance(); }
            }

    应用:

           private readonly IDictionary<String, Object> factory = new Dictionary<String, Object>();
    
            #region RepositoryFactory 为单例
            /// <summary>
            /// RepositoryFactory 为单例模式
            /// </summary>
            private static RepositoryFactory Instance;
            private RepositoryFactory()
            {
            }
            /// <summary>
            /// 获取Repository工厂实例
            /// </summary>
            /// <returns>Repository工厂实例</returns>
            public static RepositoryFactory GetInstance()
            {
                if (Instance == null) Instance = new RepositoryFactory();
                return Instance;
            }
            public static RepositoryFactory Singleton
            {
                get { return GetInstance(); }
            }
            #endregion
    

    如果在上一层调用: RepositoryFactory.Singleton 就可以。

    但是如果 是实例属性:

            public  RepositoryFactory Singleton
            {
                get { return GetInstance(); }
            }
    RepositoryFactory.Singleton 这样就不可以了。

    必须是 new RepositoryFactory().Singleton 才可以。

  • 相关阅读:
    Brettle.Web.NeatUpload.dll支持的大文件上传
    流媒体服务器架设(转载)
    Photoshop用户必知必会的28个快捷键
    qq服务器Ip
    环球企业家:web2.0创业时代将终结
    真传丹道小周天功.txt
    如何解决管理工具MSC拒绝访问?
    photoshop快捷键大全
    利用ffmpeg把视频文件转换为flv文件
    编写高性能 Web 应用程序的 10 个技巧 转自微软资料
  • 原文地址:https://www.cnblogs.com/dudu837/p/1858914.html
Copyright © 2011-2022 走看看