Конференция ".Net" » "class of " на С# [C#]
 
  • Циркуль (28.05.07 17:19) [0]
    Как на C# реализовать такую штуку, как в Delphi (и можно ли вообще) ?

    TMyClass = class
    ...
    constructor Create; virtual;
    end;

    TMyClassClass = class of TMyClass;

    procedure ... (AClass: TMyClassClass);
    var
     C: TMyClass;
    begin
     C := AClass.Create;
     ...
    end;

  • default © (28.05.07 20:01) [1]
    ты пиши не переводя понятия Delphi в понятия другого языка, а сразу в понятиях другого языка
  • oxffff © (28.05.07 22:14) [2]
    интроспекция тебе в помощь.
  • Циркуль (29.05.07 11:53) [3]

    > default ©   (28.05.07 20:01) [1]


    Т.е. понятия классовых ссылок в C# нету? Жаль, удобная штука... Или я не правильно понял пост?


    > oxffff ©   (28.05.07 22:14) [2]


    Поиск по хелпу "интроспекция" ничего не дал :)
  • clickmaker © (29.05.07 14:08) [4]

    > Поиск по хелпу "интроспекция" ничего не дал :)

    ищи по слову reflection
  • Игорь Шевченко © (29.05.07 14:57) [5]
    Activator.CreateInstance(тип твоего класса) as твой класс
  • Циркуль (29.05.07 15:41) [6]

    >
    > Игорь Шевченко ©   (29.05.07 14:57) [5]


    Во, спасибо, вроде то, что нужно. Ибо чувствую, что разбирательство с reflection привело бы к созданию подобного же класса, только самописного, а следовательно, наверняка "кривого" - в силу недолгого знакомства с С#. :)
  • sdts (30.05.07 12:09) [7]

    > Циркуль

    гдето так:
    ConstructorInfo[] constructors = YouType.GetConstructors(BindingFlags.Instance | BindingFlags.Public);
    YouType obj = (YouType)constructors[0].Invoke(new Object[] { });

  • balabo2_ub (02.08.08 09:02) [8]
    <a href=  ></a>
    [@map/map_4g5_mordy.txt||5||p-1||1|| @]
  • как - то так (04.08.08 16:39) [9]
    "интроспекция" по русски все же "отражение", хотя Reflection по - русски - "рефлексИя"
  • имя (26.12.08 14:51) [10]
    Удалено модератором
 
Конференция ".Net" » "class of " на С# [C#]
Есть новые Нет новых   [118646   +52][b:0][p:0.001]