Здравствуйте, 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 это все элементарно делается...