public MyStruct MyProperty {
get {...}
set {...}
}
на веб форме данному свойству задается значение
<ST:MyControl id=Control1 runat="server" MyProperty="одна штука"/>
соответсвтенно это работать не будет
я могу дополнительно сделать
public string MyPropertyText {
get {
return MyPropery.ToString ();
}
set {
MyProperty = MyStruct.Parse (value);
}
}
и работать с полем MyProperyText, но это решение мне не очень нравится.
Так что мне нужно дополнительно прописать в MyStruct, что бы MyProperty можно было присвоить значение типа string.
В данном случае вы не можете использовать имя MyPropertyText для метода, потому что он будет конфликтовать с именем свойства. А свойство может иметь в виде значения только MyStruct.
Здравствуйте, mishazhutov, Вы писали:
M>public void SetMyPropertyText (string s) M>{ M> MyProperty = MyStruct.Parse (value); M>}
M>В данном случае вы не можете использовать имя MyPropertyText для метода, потому что он будет конфликтовать с именем свойства. А свойство может иметь в виде значения только MyStruct.
Не понял. да и вопрос не об этом.
Если бы я использовал вместо MyStruct например DateTime, то на веб форме я бы смог указать ему текстовое значение. Я же хочу, что бы свойству с моим типом MyStruct, тоже можно было присвоить текстовое значение. Как это сделать?
Re: Как свойству присвоить значение типа string
От:
Аноним
Дата:
20.04.06 13:17
Оценка:
Вставьте в MyStruct этот код:
public static implicit operator string(MyStruct t) {
return t.ToString();
}
Здравствуйте, mishazhutov, Вы писали:
M>Вставьте в MyStruct этот код:
M> public static implicit operator string(MyStruct t) { M> return t.ToString(); M> }
M> public static explicit operator MyStruct(string str) { M> return MyStruct.Parse (str); M> }
Не помогло. Вот такое сообщение об ошибке:
Cannot create an object of type 'MyStruct' from its string representation 'одна штука' for the 'MyProperty' property.
Re[3]: Как свойству присвоить значение типа string
Здравствуйте, Bron, Вы писали:
B>Здравствуйте, mishazhutov, Вы писали:
M>>Вставьте в MyStruct этот код:
M>> public static implicit operator string(MyStruct t) { M>> return t.ToString(); M>> }
M>> public static explicit operator MyStruct(string str) { M>> return MyStruct.Parse (str); M>> }
B>Не помогло. Вот такое сообщение об ошибке: B>Cannot create an object of type 'MyStruct' from its string representation 'одна штука' for the 'MyProperty' property.
Имеется ввиду если задавать значение на веб форме
<ST:MyControl id=Control1 runat="server" MyProperty="одна штука"/>
Re[2]: Как свойству присвоить значение типа string
От:
Аноним
Дата:
20.04.06 14:06
Оценка:
я посмотрел на DateTime в рефлекторе, он реализует IComparable, IFormattable, IConvertible. Может в это решение? Я не уверен, то что прав, но внутри DateTime нет других методов, которые конвертируют из string.
Здравствуйте, mishazhutov, Вы писали:
M>я посмотрел на DateTime в рефлекторе, он реализует IComparable, IFormattable, IConvertible. Может в это решение? Я не уверен, то что прав, но внутри DateTime нет других методов, которые конвертируют из string.
Все работает. Извиняюсь, что ввел в заблуждение. Parse выдавал Exception, поэтому не работало.
Тоже просмотрел рефлектором DateTime, но там не переопределены explicit и implicit.
Интересно, что же позволяет DateTime конвертироваться из string с веб формы?
Re[4]: Как свойству присвоить значение типа string