Widziałem niedawno projekt, który używał tego styl:Casting do ENUM vs Enum.ToObject
(SomeEnum)Enum.ToObject(typeof(SomeEnum), some int)
zamiast tego stylu:
(SomeEnum)some int
Dlaczego warto korzystać z byłym? Czy to tylko kwestia stylu?
Od MSDN:
Ta metoda konwersji zwraca wartość typu Object. Następnie możesz je odrzucić lub przekonwertować na obiekt typu enumType.
https://msdn.microsoft.com/en-us/library/ksbe1e7h(v=vs.110).aspx
Wydaje mi się, że MSDN mówi mi, że powinienem zadzwonić ToObject(), a następnie mogę rzucić. Ale jestem zdezorientowany, ponieważ wiem, że mogę rzucać bez wywoływania tej metody. Jaki jest cel ToObject()? Co robi ten prosty odlew?
Kodeks nie ma sensu. Możesz rzucić wyliczenie na liczbę, ale nie wyliczać liczby. Dzień tygodnia dla zera powinien być DayOfWeek.Sunday nie liczba zero. – jdweng
Wyraźnie stwierdziłem, że był to styl kodowania w pierwszym zdaniu. Oczywiście kod nie ma sensu. To było tylko po to, żeby to zilustrować. Pytam, jaki jest cel Enum.ToObject(). Co robi ten prosty odlew? – HelloWorld
Nie mam pojęcia, ale fakt, że ta metoda była w .NET 1.1 może dać wskazówkę. Jest kilka rzeczy z tamtych dni, które naprawdę nie powinny być już używane (patrząc na ciebie 'ArrayList') – BradleyDotNET