示例#1
0
 private void LoadField()
 {
     if (_fields == null)
     {
         lock (_objLock)
         {
             if (_fields == null)
             {
                 _fields = new FieldTypeCollection();
                 Type[] exportedTypes = Assembly.GetExecutingAssembly().GetTypes();
                 for (int i = 0; i < exportedTypes.Length; i++)
                 {
                     if (exportedTypes[i].IsClass)
                     {
                         if (exportedTypes[i].GetInterfaces().Contains(typeof(IField)))
                         {
                             _fields.Add(exportedTypes[i]);
                         }
                     }
                 }
             }
         }
     }
 }