Re[2]: Метаклассы в Delphi 8
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 04.03.04 11:16
Оценка:
Здравствуйте, Serginio1, Вы писали:

В доплонение Код двух Функций Для Delphi одинаков.
Function GetClassStaticName(v:Tobject):String;
     begin
       result:= TVclass(v.ClassType).StaticVirt
     end;




   Function GetClassStaticName(v:TVirtClass):String;
      begin
        result:= v.StaticVirt
       end;



Правильно преобразует в одну

public static string GetClassStaticName(object v)
{ string text1;
text1 = (TObjectHelper.ClassType(v) as @MetaTVirtClass).StaticVirt();
return text1; 
}


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