• 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 才可以。

  • 相关阅读:
    游标和视图
    sql server 变量与集合运算
    sql server 流程控制
    sql server 基础查询和子查询
    数据库范式快速理解
    创建数据库与数据表
    SQL server 使用
    Android studio 下载依赖jar包慢
    java根据list数据通过接口姓名并填充
    【翻译】Promises/A+规范
  • 原文地址:https://www.cnblogs.com/dudu837/p/1858914.html
Copyright © 2020-2023  润新知