Re: еще проблема
От: ili Россия  
Дата: 27.03.09 07:43
Оценка: 12 (2)
Здравствуйте, Vaso, Вы писали:

не проверял, но поробуйте так:

    abstract class TestObject : EditableObjects.EditableObject<TestObject>
    {
        [InstanceType(typeof(EditableValue<Object>))]
        public abstract object Value
        {
            get;
            set;
        }
    }
    // ...

    TestObject obj = TestObject.CreateInstance();
    obj.Value = "asa";
    Debug.Assert(obj.IsDirty); // assert violation


или так:

    [GlobalInstanceType(typeof(object), typeof(EditableValue<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 Австралия  
Дата: 27.03.09 07:09
Оценка:
не было времени искать есть ли темы проэто, сорри
<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>не проверял, но поробуйте так:


спасибо, попробую
Re[3]: еще проблема
От: ili Россия  
Дата: 27.03.09 08:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>спасибо, попробую


о результатах скажи, а то мне тоже шибко интересно )))
Re[4]: еще проблема
От: Vaso Австралия  
Дата: 27.03.09 08:44
Оценка:
Здравствуйте, ili, Вы писали:

ili>Здравствуйте, Аноним, Вы писали:


А>>спасибо, попробую


ili>о результатах скажи, а то мне тоже шибко интересно )))


так и собирался сделать
проверил, работает
спасибо еще раз!
а не должно было работать без этих дополнений?
object.Equals здесь неприменим by design?
Vaso
Re[5]: еще проблема
От: Clerk  
Дата: 27.03.09 08:58
Оценка:
Здравствуйте, Vaso, Вы писали:

V>а не должно было работать без этих дополнений?

V>object.Equals здесь неприменим by design?
При инстанцировании наследника класса EditableObject вместо полей, указаных юзером, инстанцируются(подменяются) классы вида EditableValue<T>, где T — тип юзерского поля. Эти классы и реализуют editable для объектов. По умолчанию для типа Object подмена не указана.
Мне кажется, что стоит подправить класс EditableObject (добавить к его аттрибутам то, что предложил ili), что бы включить поддержку для Object по умолчанию.
... << RSDN@Home 1.2.0 alpha 4 rev. 1139>>
Re[6]: еще проблема
От: IT Россия linq2db.com
Дата: 27.03.09 15:51
Оценка:
Здравствуйте, Clerk, Вы писали:

C>Мне кажется, что стоит подправить класс EditableObject (добавить к его аттрибутам то, что предложил ili), что бы включить поддержку для Object по умолчанию.


Это может привести к различным побочным эфектам у пользователей.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.