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]); } } } } } } }