Re[2]: Вопрос по C#
От: jonny210  
Дата: 11.07.06 07:13
Оценка:
Здравствуйте, 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... Неужели из обязательно нужно переобъявлять?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.