FastEnum
FastEnum copied to clipboard
bug: TypeInitializationException
FastEnum: 1.8.0 .Net Framework 4.7.2 .NET version: latest
public enum ErpMethod
{
[EnumMember(Value = "A. ")]
A,
[EnumMember(Value = "B. ")]
B,
[EnumMember(Value = "C. ")]
C,
[EnumMember(Value = "D. ")]
D
}
public class AController: Controller
{
public AController()
{
_service = service;
#region 填入ErpMethod
ViewBag.ErpMethod = FastEnum.GetValues<ErpMethod>()
.Select(cm => new
{
ID = FastEnum.GetName(cm), // throw exception
Name = cm.GetEnumMemberValue() // throw exception
}).ToArray();
;
#endregion
}
System.TypeInitializationException: 'Cache_UnderlyingOperation`1' 的類型初始設定式發生例外狀況。 ---> System.TypeInitializationException: 'Cache_Members`1' 的類型初始設定式發生例外狀況。 ---> System.ArgumentException: Key was already exists. Key:0
於 FastEnumUtility.Internals.FrozenInt32KeyDictionary`1.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 valueSelector)
於 FastEnumUtility.Internals.EnumerableExtensions.ToFrozenInt32KeyDictionary[TSource,TValue](IEnumerable`1 source, Func`2 keySelector, Func`2 valueSelector)
於 FastEnumUtility.Member`1..ctor(String name)
於 FastEnumUtility.FastEnum.Cache_Members`1.<>c.<.cctor>b__1_0(String x)
於 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
於 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
於 System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
於 FastEnumUtility.Internals.ReadOnlyArrayExtensions.ToReadOnlyArray[T](IEnumerable`1 source)
於 FastEnumUtility.FastEnum.Cache_Members`1..cctor()
--- 內部例外狀況堆疊追蹤的結尾 ---
於 FastEnumUtility.FastEnum.Cache_UnderlyingOperation`1..cctor()
--- 內部例外狀況堆疊追蹤的結尾 ---
於 FastEnumUtility.FastEnum.GetMember[T](T value)
於 FastEnumUtility.FastEnumExtensions.ToMember[T](T value)
於 FastEnumUtility.FastEnumExtensions.GetEnumMemberValue[T](T value, Boolean throwIfNotFound)
於 New_TERS_.Controllers.SoftServiceProjectManagerController.<>c.<.ctor>b__1_2(ErpMethod cm) 於 D:\repos\TERS2\New_TERS_\Controllers\SoftServiceProjectManagerController.cs: 行 38
於 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
於 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
於 System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
於 New_TERS_.Controllers.SoftServiceProjectManagerController..ctor(ISoftServiceProjectManagerService service) 於 D:\repos\A\Controllers\AController.cs: 行 37