Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2012, 15:56   #1
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию GetType('значение строки')?

Добрый день товарисчи )!

Подскажите плиз, каким образом можно в функцию GetType() передать значение строковой переменной, т.е. в строковой переменной храниться название класса, из которого необходимо получить информацию, так вот вопрос, каким образом можно передать значение строковой переменой в функцию GetType().

Пример идеи:
var
name_class : string;
c : TRttiContext;
p : TRttiField;

begin
name_class = 'MyClass';
c := TRttiContext.Create;
for p in c.GetType(name_class).GetFields do
Helpix вне форума Ответить с цитированием
Старый 25.07.2012, 16:03   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Вот так?
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 25.07.2012, 16:07   #3
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
Delphi

function GetType(ATypeInfo: Pointer): TRttiType; overload;
function GetType(AClass: TClass): TRttiType; overload;

Не вижу string что бы в Delphi можно было вставить...
Helpix вне форума Ответить с цитированием
Старый 25.07.2012, 17:12   #4
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

А причем тут C#?
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 25.07.2012, 18:00   #5
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Helpix Посмотреть сообщение
Delphi

function GetType(ATypeInfo: Pointer): TRttiType; overload;
function GetType(AClass: TClass): TRttiType; overload;

Не вижу string что бы в Delphi можно было вставить...
Вот собственно, то, что и искал:
http://www.delphigroups.info/2/8/380335.html

function GetTypeInfo2(_Type:String) : TTypeInfo;
var TPInfo:TTypeInfo;
begin
TPInfo.Kind := TTypeKind(GetEnumValue(TypeInfo(TTy peKind), 'tk' +
_Type));
TPInfo.Name := _Type;
REsult := TPInfo;
end;
Helpix вне форума Ответить с цитированием
Старый 26.07.2012, 09:59   #6
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию Гхм.... Все же чуть чуть не то....

Погорячился я вчера, все же не то, что нужно...

Все таки случайно никто не знает каким образом можно преобразовать значение строковой переменной для функции GetType()?

type := 'MyClass';

c.GetType(type).GetFields

Что то в таком духе что бы было...
Helpix вне форума Ответить с цитированием
Старый 26.07.2012, 10:32   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Вопрос - нафига Вам это? Какую задачу Вы пытаетесь решить таким образом?
Возможно Вам поможет FindComponent, но все равно тип класса знать надо
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 26.07.2012 в 10:36.
Utkin вне форума Ответить с цитированием
Старый 26.07.2012, 10:49   #8
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Вопрос - нафига Вам это? Какую задачу Вы пытаетесь решить таким образом?
Возможно Вам поможет FindComponent, но все равно тип класса знать надо
Да собственно, мне нужно построить XML файлик, который отображал бы все поля которые вложенны в классе, а если поле в классе еще и унаследовано от кого-то, то и этот класс вложенный с полями тоже отобразить....

в JCL есть подобная функция, но файлы хранит в бинарном виде, да и ко всему, JCL у меня не устанавливается, из-за того, что версия триальная у Delphi 2010...
Helpix вне форума Ответить с цитированием
Старый 26.07.2012, 10:59   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это называется сериализация.
http://antonn.ru/index.php?s_id=7e6e...path=0|223|280
http://www.rsdn.ru/article/delphi/serialization.xml
http://www.delphikingdom.com/asp/vie...?catalogid=462
http://www.gunsmoker.ru/2011/11/blog-post_12.html - он кстати здесь ан форуме тоже бывает
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.07.2012, 14:10   #10
Helpix
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 12
По умолчанию ..

Ребят, быть может у кого есть рабочий пример вышеприведенных статей....

Я новичок и мне тяжело собрать код по запчастям ввиду того, что некоторые моменты не понятны...

Последний раз редактировалось Helpix; 26.07.2012 в 14:30.
Helpix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
typeof/GetType ds.Dante Общие вопросы .NET 1 27.06.2012 18:34
Присвоить переменной значение текущей строки sergantikus Microsoft Office Excel 2 11.02.2011 08:46
Получить значение строки найденного Sergey112233 Microsoft Office Excel 6 27.12.2010 18:16
перенести значение последней заполненной строки Jazz1200 Microsoft Office Excel 4 12.12.2010 17:11
Распознать значение из строки Federal Помощь студентам 5 01.08.2010 14:44