Skip to content

Commit b0d3d9a

Browse files
committed
2 parents c500b88 + fe57f0c commit b0d3d9a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/SmartEnum/SmartEnum.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ public abstract class SmartEnum<TEnum, TValue> :
4545
where TEnum : SmartEnum<TEnum, TValue>
4646
where TValue : IEquatable<TValue>, IComparable<TValue>
4747
{
48-
static readonly Lazy<TEnum[]> _enumOptions =
49-
new Lazy<TEnum[]>(GetAllOptions, LazyThreadSafetyMode.ExecutionAndPublication);
48+
static readonly Lazy<List<TEnum>> _enumOptions =
49+
new Lazy<List<TEnum>>(GetAllOptions, LazyThreadSafetyMode.ExecutionAndPublication);
5050

5151
static readonly Lazy<Dictionary<string, TEnum>> _fromName =
5252
new Lazy<Dictionary<string, TEnum>>(() => _enumOptions.Value.ToDictionary(item => item.Name));
@@ -67,15 +67,15 @@ public abstract class SmartEnum<TEnum, TValue> :
6767
return dictionary;
6868
});
6969

70-
private static TEnum[] GetAllOptions()
70+
private static List<TEnum> GetAllOptions()
7171
{
7272
Type baseType = typeof(TEnum);
7373
return Assembly.GetAssembly(baseType)
7474
.GetTypes()
7575
.Where(t => baseType.IsAssignableFrom(t))
7676
.SelectMany(t => t.GetFieldsOfType<TEnum>())
7777
.OrderBy(t => t.Name)
78-
.ToArray();
78+
.ToList();
7979
}
8080

8181
private static IEqualityComparer<TValue> GetValueComparer()

0 commit comments

Comments
 (0)