2016-03-01 3 views
1

У меня есть элемент управления веб-пользователя, который имеет тип свойством, что его тип является флаг:Использование Enum или флаг в качестве пользовательского элемента управления собственностью

В стороне сервера код я могу назначить ему нравится:

Type = GraphTypes.Comment | GraphTypes.Like; 

, но при добавлении пользовательского элемента управления, как:

<uc:Graph Type="Comment|Like" runat="server" /> 

Я получаю сообщение об ошибке:

Cannot create an object of type 'GraphTypes' from its string representation 'Comment|Like' for the 'Type' property.

Как я могу присвоить значение Comment|Like в моем теге?

ответ

0

при условии, что ваши GraphTypes Enum выглядит

[Flags] 
enum GraphTypes 
{ 
    Comment = 1, 
    Like = 2, 
    Foo = 4, 
    Bar = 8 
} 

вы просто должны заменить

Type="Comment|Like" 

с

Type="Comment,Like" 

GraphTypes Type = GraphTypes.Comment | GraphTypes.Like;, которая равна или GraphTypes Type = (GraphTypes)3;

+0

, тогда он выдает ошибку. Значение «3» не является допустимым значением для перечисления «GraphTypes». –

+0

уверен, что это 'GraphTypes type = (GraphTypes) 3;' должен работать так же – fubo

+0

@fubo, как установить (All & ~ (Foo))? – Mohsen

Смежные вопросы