не было времени искать есть ли темы проэто, сорри
<EditableObject> неправильно возвращает <IsDirty> для полей типа <object>, то есть изменение значения не приводит к выставлению этого флага, хотя нотификация об изменении проходит:
abstract class TestObject : EditableObjects.EditableObject<TestObject>
{
public abstract object Value
{
get;
set;
}
}
// ...
TestObject obj = TestObject.CreateInstance();
obj.Value = "asa";
Debug.Assert(obj.IsDirty); // assert violation
Vaso
Re[2]: еще проблема
От:
Аноним
Дата:
27.03.09 07:55
Оценка:
Здравствуйте, ili, Вы писали:
ili>Здравствуйте, Vaso, Вы писали:
ili>не проверял, но поробуйте так:
Здравствуйте, Vaso, Вы писали:
V>а не должно было работать без этих дополнений? V>object.Equals здесь неприменим by design?
При инстанцировании наследника класса EditableObject вместо полей, указаных юзером, инстанцируются(подменяются) классы вида EditableValue<T>, где T — тип юзерского поля. Эти классы и реализуют editable для объектов. По умолчанию для типа Object подмена не указана.
Мне кажется, что стоит подправить класс EditableObject (добавить к его аттрибутам то, что предложил ili), что бы включить поддержку для Object по умолчанию.
Здравствуйте, Clerk, Вы писали:
C>Мне кажется, что стоит подправить класс EditableObject (добавить к его аттрибутам то, что предложил ili), что бы включить поддержку для Object по умолчанию.
Это может привести к различным побочным эфектам у пользователей.
Если нам не помогут, то мы тоже никого не пощадим.