Results 1 to 4 of 4
Thread: C# Override íà Enum.Parse
Hybrid View
-
10th December 2009 11:23 #1
C# Override íà Enum.Parse
Íÿêîé, èìà ëè èäåÿ êàê ìîãà äà override-na Enum.Parse ?
Èäåÿòà å, ÷å èìàì åäèí åíúì è èñêàì êàòî ñå ïàðñâà äà èìà ìàëêî ïî ðàçëè÷íà ëîãèêà çà êîíâåðòèðàíåòî.
Ïðèìåðíî :
public enum SharepointListType
{
Library,
List
}
ñàìî, ÷å çà List ìîæå äà èìà ñòîéíîñòè "104","100","108" .... è ò.í.
ñúùîòî âàæè è çà Library.
Íå ìè ñå èñêà äà ïîëçâàì îòäåëåí êëàñ è ìåòîä çà äà ïîñòèíãà òîâà.
-
10th December 2009 13:01 #2
Çäðàâåé, âñÿêà ñòîéíîñò îò åäèí Enum èìà integer ïðåäñòàâÿíå, êîåòî ìîæå äà ñå çàäàäå åêñïëèöèòíî, íàïð.:
Enum êëàñà èìà ToObject(Type, Int32) ìåòîä, ñ êîéòî ìîæåø îò äàäåíî integer ïðåäñòàâÿíå äà ïîëó÷èø ñúîòâåòíàòà ñòîéíîñò íà Enum-à.Code:public enum SharepointListType { Library = 104, List = 108 }
Îáà÷å àêî ñúì ðàçáðàë ïðàâèëíî òè èñêàø äàäåíà ñòîéíîñò íà åäèí Enum äà èìà ïîâå÷å îò åäíî integer ïðåäñòàâÿíå. Àêî òîâà å òàêà, åäèíñòâåíîòî êîåòî ìè èäâà íà óì å äà ñè íàïðàâèø íÿêàêúâ àòðèáóò, ñ êîéòî äà îïèøåø ðàçëè÷íèòå integer ïðåäñòàâÿíèÿ. Êîåòî ñè å ìàëêî õàìàëîãèÿ
-
10th December 2009 14:10 #3
Å, êàê ùå ïàðñâàø ñòîéíîñò List âåäíúæ êúì 104, äðóã ïúò êúì 100, òðåòè êúì 108 ïðè åäèí è ñúùè ïîäàäåí ïàðàìåòúð ??
I mourn thee by dusk | I mourn thee by dawn
Crave for thy gloss | to seek the silent glades beyond
-
10th December 2009 16:01 #4
Òî òîâà âå÷å íå å îò çíà÷åíèå. Ìàêàð,÷å íåùî íå ìè äîïàäà ìíîãî ... Íàïðàâèõ ãî òàêà :
public static class Extensions
{
public static object ToSharepointListType(this ListTypes enumItem)
{
//TODO convert to SharepointListType
return null;
}
}
è â êîäà ñå ïîëçâà òàêà :
string value = "104";
var item = EnumHelper.Parse<ListTypes>(value).ToSha repointListType();
Íÿìàøå äà å ëîøî, àêî îò ÌÑ ñè áÿõà íàïèñàëè Generic Enum Parser. Ñåãà è òîâà ùå íàïèøà äà èçãëåæäà ìàëêî ïî äîáðå ãîðíèÿò èçðàç.Last edited by Nevermore; 10th December 2009 at 16:17.




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè