Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
добрый тапкожуй
11 / 11 / 3
Регистрация: 30.11.2011
Сообщений: 76
1

Получить значение поля с помощью рефлексии (отражения)

24.02.2012, 00:01. Просмотров 3714. Ответов 1
Метки нет (Все метки)

Каким образом с помощью рефлексии получить значение поля?

Вроде как с помощью этих вот команд:

C#
1
2
3
4
5
DLLType.GetField(имя поля).GetValue();
 
или
 
DLLType.GetField(имя поля).GetValueDirect();
Но я никак не пойму, что нужно указывать в качестве параметров для этих методов.

FAQ по отражениям на форуме читал, но именно про поля не видел, а по ассоциации со свойствами, например, сделать не получается
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2012, 00:01
Ответы с готовыми решениями:

Как получить значение по имени кроме рефлексии?
Добрый день. В программе есть необходимость получать значения класса по...

С помощью рефлексии нужно вызвать метод динамически подключенной библиотеки
С помощью рефлексии нужно вызвать метод динамически подключенной библиотеки....

Избавление от рефлексии
Добрый день, уважаемые форумчане. Такой вопрос. Имеется несколько классов,...

Как получить значение поля из tableBindingSource?
Имеется combo , источником данных является tableBindingSource. Как , выбрав...

Получить значение поля из переменной типа DataTable
Всем привет. Такая ситуация, в dtpos пишется таблица Position, ну там запрос...

1
NickoTin
Почетный модератор
Эксперт .NET
8451 / 3573 / 402
Регистрация: 14.06.2010
Сообщений: 4,512
Записей в блоге: 9
24.02.2012, 00:29 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Reflection;
 
namespace ConsoleApplication30
{
    class Program
    {
        class Test
        {
            public Test ( )
            {
                privateField = 7;
            }
 
            int privateField;
            public double publicField;
 
            public override string ToString ( )
            {
                return string.Format(
                    "privateField: {0}, publicField: {1}",
                    privateField,
                    publicField
                    );
            }
        }
 
        static void Main ( )
        {
            var test = new Test() {
                publicField = 10.8
            };
 
            var privateField = typeof( Test ).GetField( "privateField", BindingFlags.NonPublic | BindingFlags.Instance );
            var publicField  = typeof( Test ).GetField( "publicField", BindingFlags.Public | BindingFlags.Instance );
 
            Console.WriteLine(
                "Reflection, get fields values\r\n\tprivateField: {0}\r\n\tpublicField: {1}",
                (int)privateField.GetValue( test ),
                (double)publicField.GetValue( test )
                );
 
            privateField.SetValue( test, 35 );
            publicField.SetValue( test, double.MaxValue );
 
            Console.WriteLine(
                "Reflection, fields values after 'set' method\r\n\tprivateField: {0}\r\n\tpublicField: {1}",
                (int)privateField.GetValue( test ),
                (double)publicField.GetValue( test )
                );
 
            Console.ReadLine();
        }
 
    }
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2012, 00:29

Не удается получить значение поля бд по известному другому полю
Здравствуйте! Вот часть кода. Нужно из бд аксесс изъять значение поля Namereg...

Получить значение ячейки из таблицы и присвоить это значение в другую
Привет всем. Мне необходимо получить значение ячейки из таблицы и присвоить это...

Как получить значения статического поля класса с помощью рефлексии?
Есть библиотека классов в ней некоторый класс А. у этого класса есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru