BTDB.FieldHandler.EnumFieldHandler.EnumConfiguration.IsSubsetOf C# (CSharp) Метод

IsSubsetOf() публичный Метод

public IsSubsetOf ( EnumConfiguration targetCfg ) : bool
targetCfg EnumConfiguration
Результат bool
            public bool IsSubsetOf(EnumConfiguration targetCfg)
            {
                if (_flags != targetCfg._flags) return false;
                var targetDict =
                    targetCfg.Names.Zip(targetCfg.Values, (k, v) => new KeyValuePair<string, ulong>(k, v))
                    .ToDictionary(p => p.Key, p => p.Value);
                for (int i = 0; i < _names.Length; i++)
                {
                    ulong targetValue;
                    if (!targetDict.TryGetValue(_names[i], out targetValue)) return false;
                    if (_values[i] != targetValue) return false;
                }
                return true;
            }

Usage Example

Пример #1
0
 Action<IILGen> GenerateEnum2EnumConversion(Type from, Type to)
 {
     var fromcfg = new EnumFieldHandler.EnumConfiguration(from);
     var tocfg = new EnumFieldHandler.EnumConfiguration(to);
     if (fromcfg.IsSubsetOf(tocfg))
     {
         return GenerateConversion(from.GetEnumUnderlyingType(), to.GetEnumUnderlyingType());
     }
     return null;
 }
All Usage Examples Of BTDB.FieldHandler.EnumFieldHandler.EnumConfiguration::IsSubsetOf