Пример #1
0
 public static void RegisterIfNeeded(DataFileTypeInfo elemTypeInfo)
 {
     if (!DataFileTypeInfo.ContainsType(GetTypeName(elemTypeInfo)))
     {
         new DataFileIDictWrapper <T>(elemTypeInfo).RegisterTypeInfo(GetTypeName(elemTypeInfo));
     }
 }
Пример #2
0
 public static void RegisterIfNeeded()
 {
     if (!DataFileTypeInfo.ContainsType(TYPENAME))
     {
         new DataFileGUIDWrapper().RegisterTypeInfo(TYPENAME);
     }
 }
Пример #3
0
 public static BaseDataFile CreateFromEnumDict <TEnum>(DataFileTypeInfo elemTypeInfo, Dictionary <TEnum, T> value) where TEnum : struct
 {
     return(new DataFileIDictWrapper <T>(elemTypeInfo)
     {
         Value = new Dictionary <int, T>(value.ToDictionary(p => p.Key.GetHashCode(), q => q.Value))
     });                                                                                                                                                          // abusing the fact that GetHasCode of an 32bit enum returns the enum value
 }
Пример #4
0
 public static BaseDataFile Create(DataFileTypeInfo elemTypeInfo, Dictionary <int, T> value)
 {
     return(new DataFileIDictWrapper <T>(elemTypeInfo)
     {
         Value = value
     });
 }
Пример #5
0
 public static BaseDataFile Create(DataFileTypeInfo elemTypeInfo, List <T> value)
 {
     return(new DataFileListWrapper <T>(elemTypeInfo)
     {
         Value = value
     });
 }
Пример #6
0
 public static string GetTypeName(DataFileTypeInfo elemTypeInfo)
 {
     return($"WIDICT<{elemTypeInfo.TypeName}>");
 }
Пример #7
0
 public DataFileIDictWrapper(DataFileTypeInfo elemTypeInfo)
 {
     _typeName     = GetTypeName(elemTypeInfo);
     _elemTypeInfo = elemTypeInfo;
 }