zoukankan      html  css  js  c++  java
  • C# 范型编程

    Using directives

    namespace GenericsSingleton
    {
        
    /// <summary>
        
    /// 单例范型
        
    /// </summary>
        
    /// <typeparam name="T"></typeparam>

        public class Singleton<T>
        
    {
            
    private static T _instance;

            
    public Singleton()
            
    {
            }


            
    public static T Instance
            
    {
                
    get
                
    {
                    
    if (_instance == null)
                    
    {  

                       
    //获得实例,使用这个方法的前提是T要有公有的、无参数的构造函数               

                       _instance 
    = (T)System.Activator.CreateInstance(typeof(T));
                    }

                    
    return _instance;
                }

            }

        }


        
    /// <summary>
        
    /// 要实现单例的类
        
    /// </summary>

        public class Foo
        
    {
            
    private int count = 0;

            
    public int Count
            
    {
                
    get
                
    {
                    count
    ++;
                    
    return count;
                }

            }

        }


        
    /// <summary>
        
    /// 主函数
        
    /// </summary>

        class Program
        
    {
            
    static void Main(string[] args)
            
    {
                
    //连续调用三次如果值是递增的话说明三次调用都是同一个实例
                Console.WriteLine(Singleton<Foo>.Instance.Count);
                Console.WriteLine(Singleton
    <Foo>.Instance.Count);
                Console.WriteLine(Singleton
    <Foo>.Instance.Count);

                Console.ReadLine();
            }

        }

    }

     
  • 相关阅读:
    maven工程的目录结构
    集合的区别
    名词解析
    1.(字符串)-判断字符串是否是子集字符串
    1.(字符串)-判断两字符串是否相等
    python max函数技巧
    1.(字符串)-子字符串位置查找
    numpy线性代数np.linalg
    Python图像库PIL 使用
    pyhthon-chr
  • 原文地址:https://www.cnblogs.com/xiaotuni/p/2365744.html
Copyright © 2011-2022 走看看