关于一个类可以同时实现单例和实例化调用其类中方法

近期再写代码的过程中,发现好多大哥习惯于再调用dbhelp或者别的类库的时候,喜欢直接使用类库.方法名去调用,但是还有一些新手更喜欢去实例化调用,对于以上的两种写法,做了一个小型的修改,可以同时使用这两种方式调用类库中的方法
以下是实现方式
这是封装的类库
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace CallMode
 6 {
 7     public class SingleAndExample
 8     {
 9         private static SingleAndExample _inst = null;
10         private static readonly object _locker = new object();
11 
12         //这是单例的一种写法
13         public static SingleAndExample GetInstance()
14         {
15             if (_inst == null)
16             {
17                 lock (_locker)
18                 {
19                     if (_inst == null)
20                     {
21                         _inst = new SingleAndExample();
22                     }
23                 }
24             }
25             return _inst;
26         }
27 
28         //这是实例化的一种写法
29         public SingleAndExample()
30         {
31            
32         }
33 
34         public string returnStr()
35         {
36             return "我只是测试代码";
37         }
38 
39     }
40 }

这是控制台调用程序 

 

 1 using System;
 2 
 3 namespace CallMode
 4 {
 5     public class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             string str1 =  SingleAndExample.GetInstance().returnStr();
10             string str2 = "";
11             SingleAndExample singleAndExamplesingleAndExample = new SingleAndExample();
12             str2 = singleAndExamplesingleAndExample.returnStr();
13             Console.WriteLine(str1);
14             Console.WriteLine(str2);
15             Console.ReadKey();
16         }
17     }
18 }

可以看到效果,两种写法都可以实现调用

 

 

posted @ 2022-11-21 15:21  小浩~  阅读(58)  评论(0编辑  收藏  举报