Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / typeof(MyClass1).GetField() почему всегда возвращает null ? / 2 сообщений из 2, страница 1 из 1
29.11.2015, 12:49
    #39115609
AspUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
typeof(MyClass1).GetField() почему всегда возвращает null ?
Добрый день! Как по именам свойств получить значения свойства конкретного объекта ?
почему typeof(MyClass1).GetField(nameAtr) всегда = null ?
может как то по другому надо в подобном контексте получать значения свойств по имени свойства ?

Код: 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.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace club34.Pages
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            MyClass1 meRe = new MyClass1();
            meRe.Id = 11;
            meRe.Name = "Wer";
            meRe.Active = true;

            string nameAtr = "Name";
            FieldInfo fi = typeof(MyClass1).GetField(nameAtr); 
            if (fi != null)
            {
                object fieldValue = fi.GetValue(meRe);
                Response.Write(""+ fieldValue.ToString());
            }
        }
    }

    public class MyClass1
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool Active { get; set; }
    }
}
...
Рейтинг: 0 / 0
29.11.2015, 13:14
    #39115616
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
typeof(MyClass1).GetField() почему всегда возвращает null ?
AspUser, свойство - это Property , а не Field .

Код: 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.
namespace BasicReflection
{
    using System;
    using System.Reflection;

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool Active { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var myClassInstance = new MyClass { Id = 11, Name = "Wer", Active = true };
            var myClassType = typeof(MyClass);

            var propertyNames = new[] { "Active", "Created", "Id", "Name" };

            foreach (string propertyName in propertyNames)
            {
                var propertyInfo = myClassType.GetProperty(propertyName);

                if (propertyInfo == null)
                {
                    Console.WriteLine("{0} not found.", propertyName);
                }
                else
                {
                    Console.WriteLine("{0}: {1}", propertyName, propertyInfo.GetValue(myClassInstance, null));
                }
            }

            Console.ReadKey();
        }
    }
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / typeof(MyClass1).GetField() почему всегда возвращает null ? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]