Здравствуйте, vhonest, Вы писали:
V>Здравствуйте, jonny210, Вы писали:
J>>т.е. в функции xxx2 создается объект тип которого передается в функцию параметром. Собственно вопрос, как сие организовать в C#? Это очень важно... Помогите кто может.
V>Вот, например, как можно создать объекта, когда его тип известен только в рантайме
V> Type t = typeof(System.Text.StringBuilder);
V> System.Reflection.ConstructorInfo ci = t.GetConstructor(Type.EmptyTypes); // конструктор без параметров
V> object o = ci.Invoke(null); // вызов конструктора
V> Console.WriteLine(o.GetType());
V>
V>А вообще я бы писал на том языке, который лучше знаю.
V>.NET позволяет использовать типы, реализованные на одном NET-совместимом языке, из другого языка
Спасибо что откликнулись. Но есть проблема. Параметры конструктора. когда я объявляю переменную так:
var o: class of TMyObj;
при создании объекта компилятор точно знает какие параметры я должен передать конструктору. Если я изменю конструктор объекта код просто не скомпилируется... Мне не нужно полностью динамическое создание объекта...
И еще вопрос. При наследовании объектов в C# конструктор почему то не наследуется...(((
class Obj1
{
public Obj1(int x);
}
class Obj2 : Obj1
{
}
...
Obj2 obj = new Obj2(10);
Последняя строчка не скомпилируется потом что Obj2 ничего незнает о конструкторе из Obj1... Неужели из обязательно нужно переобъявлять?