Re[4]: Вопрос по C#
От: jonny210  
Дата: 11.07.06 07:47
Оценка:
Здравствуйте, nikov, Вы писали:

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


J>>Но есть проблема. Параметры конструктора. когда я объявляю переменную так:

J>>
J>>var o: class of TMyObj;
J>>

J>>при создании объекта компилятор точно знает какие параметры я должен передать конструктору. Если я изменю конструктор объекта код просто не скомпилируется... Мне не нужно полностью динамическое создание объекта...

N>Опишите подробнее, какое поведение Вы бы хотели получить.


Есть базовый класс, и куча наследников...
public class Base
{
    public Base(int x)
    {
    ...
    }
}

public class Child1 : Base
{
    public Child1(int x) : base (x)
    {
    }
}
  
public class Child2 : Base
{
    public Child2(int x) : base (x)
    {
    }
}
  
public class Child3 : Base
{
    public Child3(int x) : base (x)
    {
    }
}


теперь есть процедура которая должна создавать объект класс которого передается параметром
public string xxx(Base class_type)
{
    Base obj = class_type(10);
    obj.GetType().ToString();
}


я знаю что так делать нельзя, но как это сделать в C# я не знаю...
и из основного кода я делаю
    xxx(Child1);
    xxx(Child2);
    xxx(Child3);


Вот такая у меня заморочка... В Delphi это все элементарно делается...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.