Как получить FieldInfo из Type?
От: mDmitriy Россия  
Дата: 21.06.16 16:01
Оценка:
Всем привет!

Из объекта Type можно получить FieldInfo для всех его полей type.GetFields()
А как получить FeildInfo для самого объекта type?
Вроде можно через RuntimeFieldHandle, но где его взять?
Спасибо...
Re: Как получить FieldInfo из Type?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.06.16 16:10
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Из объекта Type можно получить FieldInfo для всех его полей type.GetFields()

D>А как получить FeildInfo для самого объекта type?

typeof (Type).GetFields()? Или я вопроса не понял?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: Как получить FieldInfo из Type?
От: mDmitriy Россия  
Дата: 21.06.16 16:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>typeof (Type).GetFields()? Или я вопроса не понял?
Видимо, я сумбурно написал...
class MyType
{
    // какие-то поля
}
MyType myType = new MyType();
FeildsInfo[] fieldsInfo = myType.GetType().GetFields();

это все понятно
как получить FieldInfo для самого MyType?
если бы MyType был типом в другом классе — то через него, а если он просто так?
надо что-то типа такого
FieldInfo fieldInfoOfMyType = <какой-то метод>(typeof(MyType))
Re[3]: Как получить FieldInfo из Type?
От: Sinix  
Дата: 21.06.16 18:04
Оценка:
Здравствуйте, mDmitriy, Вы писали:

Пока вопрос звучит примерно так:

я могу получить ноги коровы через метод корова.Ноги(). Но как мне получить ногу из самой коровы?

Давайте начнём с задачи, которую надо решить, а дальше уже будет понятно, где там чья нога


UPD: О, дошло кажется. Нужны static-поля? BindingFlags.Static в GetFields() добавьте.
Аля
http://stackoverflow.com/questions/1340438/get-value-of-static-field/1340460#1340460
Отредактировано 21.06.2016 18:09 Sinix . Предыдущая версия . Еще …
Отредактировано 21.06.2016 18:08 Sinix . Предыдущая версия .
Re[3]: Как получить FieldInfo из Type?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.06.16 18:09
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>как получить FieldInfo для самого MyType?


Ничего не понял. Тебе статические поля что ли нужны?

D>если бы MyType был типом в другом классе — то через него, а если он просто так?


typeof (MyType)

D>надо что-то типа такого

D>
D>FieldInfo fieldInfoOfMyType = <какой-то метод>(typeof(MyType)) 
D>


typeof (MyType).GetFields()

... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: Как получить FieldInfo из Type?
От: mDmitriy Россия  
Дата: 21.06.16 18:39
Оценка:
Здравствуйте, AndrewVK, Вы писали:
D>>как получить FieldInfo для самого MyType?

AVK>Ничего не понял. Тебе статические поля что ли нужны?

нет... Sinix вот понял
Re[4]: Как получить FieldInfo из Type?
От: mDmitriy Россия  
Дата: 21.06.16 18:50
Оценка:
Здравствуйте, Sinix, Вы писали:
S>Пока вопрос звучит примерно так:
S>

S>я могу получить ноги коровы через метод корова.Ноги(). Но как мне получить ногу из самой коровы?

немного не так... мне надо получить корову в формате ноги
S>

S>Давайте начнём с задачи, которую надо решить, а дальше уже будет понятно, где там чья нога

очень абстрактно — кастомная сериализация WCF-клиента (SOAP)
если контракт IsWrapped=false, то все раскладывается в myType.GetType().GetFields() и дальше выделяется элемент для body
а вот если контракт IsWrapped=true, то там сложнее — в body надо сериализовать основной тип
вот его хотелось в FieldInfo и запихнуть, чтобы лишний раз не приседать
оказалось, что это не принципиально
Re[5]: Как получить FieldInfo из Type?
От: TK Лес кывт.рф
Дата: 04.07.16 18:30
Оценка:
Здравствуйте, mDmitriy, Вы писали:

S>>Пока вопрос звучит примерно так:

S>>

S>>я могу получить ноги коровы через метод корова.Ноги(). Но как мне получить ногу из самой коровы?

D>немного не так... мне надо получить корову в формате ноги
S>>[q]

System.Reflection.Emit.FieldBuilder
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.