public static IEnumerable <EDevice> GetDevices(this EDeviceFamily family) { return(typeof(EDevice) .GetFields(BindingFlags.Public | BindingFlags.Static) .Where(fi => IsFamily((DeclareFamily)fi.GetCustomAttributes(typeof(DeclareFamily), false).SingleOrDefault(), family)) .Select(fi => (EDevice)fi.GetValue(null))); }
/// <summary> /// Constructs the attribute. /// </summary> /// <param name="family">device family</param> public DeclareFamily(EDeviceFamily family) { Family = family; }
private static bool IsFamily(DeclareFamily declFamily, EDeviceFamily family) { return declFamily != null && declFamily.Family == family; }
private static bool IsFamily(DeclareFamily declFamily, EDeviceFamily family) { return(declFamily != null && declFamily.Family == family); }