У меня есть базовый класс следующим образом:Инстанцирование объектом общего подкласса, который наследует от необщего базового класса
public class Base{
private string name = string.Empty();
public Base(string name){
this.name = name;
}
public string Name{get;set;}
}
и у меня есть общий класс, который наследует от Base
класса, а также содержит метод, который возвращает объект общего типа T
так:
public SubClass<T>:Base{
public SubClass(string name):base(name){}
public T method(string parameter){
//do some stuff here and return T
return T;
}
}
и я создать экземпляр объекта в SubClass
:
object instance = new SubClass<object>("name");
и я не использую общий тип в конструкторе. параметры в конструкторе SubClass
являются предопределенными типами (например, string, int и т. д.). Эта реализация отлично работает, но мне интересно, правильно ли это? есть еще один подходящий способ сделать это. Thanx
Edit
Контекст: Base
класс является классом, который обрабатывает соединение с CouchDB. поэтому я предоставляю необходимую информацию (имя пользователя, пароль, хост, порт и имя базы данных), а SubClass
- простой клиент для CouchDB. Поэтому, когда я создаю объект SubClass
, я хочу предоставить учетные данные для CouchDB, и я хочу также предоставить модель (например, модель учетной записи, модель продукта), которую я ожидаю от базы данных.
Вы определили подкласс и это конструктор правильно. И вы указываете «объект» как общий тип при создании экземпляра. Но почему вы храните экземпляр как объект? Какой смысл создавать общий тип, если вы укажете объект? Чего вы на самом деле пытаетесь достичь? –