1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| using System;
|
| namespace HStation.RevitDev.RevitDataExport.Common
| {
| public abstract class Singleton<T> where T : class
| {
| private static T _Instance;
| private static readonly object SyncObject = new object();
|
| public static T Instance
| {
| get
| {
| if (_Instance == null)
| {
| lock (SyncObject)
| {
| if (_Instance == null)
| {
| _Instance = (T)Activator.CreateInstance(typeof(T), true);
| }
| }
| }
|
| return _Instance;
| }
| }
| }
| }
|
|