IMapGettable хочется
От: oleksab Украина  
Дата: 08.11.05 08:49
Оценка:
Добрый день


Есть классы, которые содержат в себе ссылки на объекты других классов, что-то типа:
 class Classificator
 {
 int id;
 string Title;
 }

 class SomeObject
 {
 int id;
 string Title;
 Classificator Type;
 }


Загружать объекты в таком случае помогает реализация IMapSettable классом SomeObject
Хочется, чтобы при сохранении объектов (при создании параметров с помощью DbManager.CreateParameters(object source)) можно было также обойтись реализацией IMapGettable, в которой можно было бы переопределить метод GetField и внутри него можно было написать:
        public bool GetField(string fieldName, out object value)
        {
            MapDescriptor md = MapDescriptor.GetDescriptor(this.GetType());
            IMemberMapper mapper = md.GetMember(fieldName);
            if (mapper != null && mapper.IsClass && mapper.MemberType.IsSubclassOf(typeof (Classificator)))
            {
                Classificator c = mapper.GetValue(this);
                value = c.id;
                return true;
            }
            return false;
        }


Скажите пожалуйста, реализовано что-то подобное?
Может можно как-то по-другому? Подскажите пожалуйста, как?
Каковы шансы того, что если я напишу этот самый IMpaGettable, переделаю все места, где встречается IMapDataSource.GetFieldData и отдам автору исходники, подобный код попадет в основную ветку (а то merge-ить при новой версии не очень улыбается)?

Спасибо.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.