Re: как правильнее спроектировать структуру классов
От: ykurin  
Дата: 18.03.14 04:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день,Господа!


А>У меня есть базовый класс



А>
А>public abstract class MyBase<T>
А>{
А>protected T _currentObject;
А>T CurrentObject
А>{
А> get
А> {
А>   return _currentObject;
А> }
А>}
А>//... остальные поля не важны
А>}
А>


А>у меня также ест дочерние классы , один из них

А>
А>public class InhClass<T>:MyBase<T> where T : FieldInfo
А>{
А>public InhClass(T obj)
А>{
А>_currentObject = obj;
А>}
А>//... остальные поля не важны
А>}
А>


А>вот собственно вопрос :

А>у меня дочерних классов может быть много, и везде мне придется писать громоздкую конструкцию типа

А>
А>public class InhClass<T>:MyBase<T> where T : Type
А>


А>правильно ли это, все классы обобщает то что мне нужно от них получить CurrentObject,но он может быть разного типа,от того эти извращения, может как нибудь проще можно.

А>Более простым способом вынести T CurrentObject в базовый класс, при этом не городить огороды в дочерних ?


А>Спасибо за советы!



Не понятно, для чего наследный класс тоже шаблон? Вы четко указываете, что T — FieldInfo, так почему бы не написать так:
public class InhClass: MyBase<FieldInfo>
{
public InhClass(FieldInfo obj)
{
_currentObject = obj;
}
//... остальные поля не важны
}

или у вас есть наследники от FieldInfo и вы планируете использовать их в InhClass?

Лучше бы вы описали вашу задачу (без привязки к классам), возможно она имеет другое, более эффективное решение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.