Инициализация нескольких полей объекта
От: Аноним  
Дата: 17.09.10 13:26
Оценка:
Часто приходится писать
MyType currObj=collection.FindObj(id);
currObj.Prop1=
currObj.Prop2=
currObj.Prop3=

Можно ли такую запись упростить?
Re: Инициализация нескольких полей объекта
От: Воронков Василий Россия  
Дата: 17.09.10 13:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Часто приходится писать

А>MyType currObj=collection.FindObj(id);
А>currObj.Prop1=
А>currObj.Prop2=
А>currObj.Prop3=

А>Можно ли такую запись упростить?


C# 3.0? Object Initializers?
Re: Инициализация нескольких полей объекта
От: Lloyd Россия  
Дата: 17.09.10 13:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Можно ли такую запись упростить?


Посмотрите какой-нить object-mapper в инете.
Re[2]: Инициализация нескольких полей объекта
От: Lloyd Россия  
Дата: 17.09.10 13:32
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

А>>Можно ли такую запись упростить?


ВВ>C# 3.0? Object Initializers?


И как их использовать с сущечтвующей переменной?
Re[3]: Инициализация нескольких полей объекта
От: Воронков Василий Россия  
Дата: 17.09.10 13:33
Оценка:
Здравствуйте, Lloyd, Вы писали:

ВВ>>C# 3.0? Object Initializers?

L>И как их использовать с сущечтвующей переменной?

Никак. Я код смотрел по диагонали.
Re[4]: Инициализация нескольких полей объекта
От: Аноним  
Дата: 17.09.10 13:37
Оценка:
ВВ>>>C# 3.0? Object Initializers?
L>>И как их использовать с сущечтвующей переменной?

ВВ>Никак. Я код смотрел по диагонали.


Вот у меня именно поиск существующей переменной а не создание новой
Re[3]: Инициализация нескольких полей объекта
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.09.10 13:37
Оценка: 105 (9) :)))
Здравствуйте, Lloyd, Вы писали:

L>И как их использовать с сущечтвующей переменной?


На правах шутки

struct __<T>
{
    public T _;

    public __(T _)
    {
        this._ = _;
    }
}


var currObj = new __<MyType>(collection.FindObj(id)) { _ = { Prop1 = 1, Prop2 = 2, Prop1 = 3 } }._;
Re[5]: Инициализация нескольких полей объекта
От: Воронков Василий Россия  
Дата: 17.09.10 13:39
Оценка:
Здравствуйте, Аноним, Вы писали:

ВВ>>>>C# 3.0? Object Initializers?

L>>>И как их использовать с сущечтвующей переменной?
ВВ>>Никак. Я код смотрел по диагонали.
А>Вот у меня именно поиск существующей переменной а не создание новой

А на основе чего происходит инициализация полей? Другой экземпляр такого же класса? Просто разнозненный набор переменных и проч.?
Re[4]: Инициализация нескольких полей объекта
От: Воронков Василий Россия  
Дата: 17.09.10 13:41
Оценка:
Здравствуйте, nikov, Вы писали:

N>
N>struct __<T>
N>{
N>    public T _;

N>    public __(T _)
N>    {
N>        this._ = _;
N>    }
N>}


N>var currObj = new __<MyType>(collection.FindObj(id)) { _ = { Prop1 = 1, Prop2 = 2, Prop1 = 3 } }._;
N>


А зачем тут вообще collection.FindObj(id)? Ты ж его перетираешь
Re[2]: Инициализация нескольких полей объекта
От: Аноним  
Дата: 17.09.10 13:43
Оценка:
L>Посмотрите какой-нить object-mapper в инете.
Что имеется ввиду? ORM-инструмент? НО у меня не БД а с ком+ объекта приходят данные и я их раскидываю в свою иерархию
Re[5]: Инициализация нескольких полей объекта
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.09.10 13:44
Оценка: 21 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ты ж его перетираешь

Нет. Только его свойства.
Re[4]: Инициализация нескольких полей объекта
От: Lloyd Россия  
Дата: 17.09.10 13:47
Оценка:
Здравствуйте, nikov, Вы писали:

N>На правах шутки


N>
N>struct __<T>
N>{
N>    public T _;

N>    public __(T _)
N>    {
N>        this._ = _;
N>    }
N>}


N>var currObj = new __<MyType>(collection.FindObj(id)) { _ = { Prop1 = 1, Prop2 = 2, Prop1 = 3 } }._;
N>


фига се!
Re[3]: Инициализация нескольких полей объекта
От: Lloyd Россия  
Дата: 17.09.10 13:48
Оценка:
Здравствуйте, Аноним, Вы писали:

L>>Посмотрите какой-нить object-mapper в инете.

А>Что имеется ввиду? ORM-инструмент? НО у меня не БД а с ком+ объекта приходят данные и я их раскидываю в свою иерархию

нет, именно object-object mapper
Re[6]: Инициализация нескольких полей объекта
От: Воронков Василий Россия  
Дата: 17.09.10 13:48
Оценка:
Здравствуйте, nikov, Вы писали:

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

ВВ>>Ты ж его перетираешь
N>Нет. Только его свойства.

Вот это меня смутило:

_ = { Prop1 = 1, Prop2 = 2, Prop1 = 3 }

Не знал, что так можно в инициализаторах. Респект
Re[6]: Инициализация нескольких полей объекта
От: Аноним  
Дата: 20.09.10 10:17
Оценка:
ВВ>А на основе чего происходит инициализация полей? Другой экземпляр такого же класса? Просто разнозненный набор переменных и проч.?

И то и то. Т.е. часть полей приходит с ком+объекта (там есть переменная и у неё метод GetValue("Поле1")), часть расчитываются
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.