ФорумПрограммированиеБольше языковC/C++ и C# → Изменить значение приватных полей при помощи рефлексии

Изменить значение приватных полей при помощи рефлексии

  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 1 марта 2011 г. 2:22

    Как думаете можно ли? Может кто пробовал?

    Я подозреваю, что этого нельзя сделать. А если можно, то смогу ли я залезть в int, или например, в DateTime?

    Если просто интересно зачем мне это надо? То мне тоже просто интересно.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 1 марта 2011 г. 2:37, спустя 15 минут 20 секунд

    class A
    {
    private string a;
    public string c;
    protected string d;
    }

    class B : A
    {
    private string b;
    }

    class test
    {
    public static void Main(string[] Args)
    {
    B b = new B();
    Type t;
    t = b.GetType();
    FieldInfo[] fields = t.GetFields(BindingFlags.Public | BindingFlags.NonPublic
    | BindingFlags.Instance);
    foreach (FieldInfo fi in fields)
    {
    Console.WriteLine(fi.Name);
    fi.SetValue(b, "45");
    }

    foreach (FieldInfo fi in fields)
    {
    Console.WriteLine(fi.GetValue(b));
    }
    Console.ReadLine();
    }
    }


    http://stackoverflow.com/questions/686482/c-accessing-inherited-private-instance-members-through-reflection
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 1 марта 2011 г. 2:44, спустя 7 минут 9 секунд

    Frozzeg, да то, что меня и интересовало.

    Хорош, я даже приватные поля инта прочитал =)))
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 1 марта 2011 г. 3:30, спустя 46 минут 16 секунд

    пиздец))) такто))
    Сапожник без сапог
  • kostyl

    Сообщения: 5205 Репутация: N Группа: Джедаи

    Spritz 1 марта 2011 г. 5:06, спустя 1 час 36 минут 3 секунды

    можно даже IL код получать ;)
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 1 марта 2011 г. 11:47, спустя 6 часов 41 минуту 2 секунды

    Можно даже декомпилировать самого себя
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 12:30, спустя 1 день 42 минуты

    Можно даже декомпилировать самого себя

    Та это я знаю. А теперь такой вопрос, можно ли изменить значение readonly поля?
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 12:37, спустя 6 минут 22 секунды

    кто там говорил, что пых - гавно и хуета, так как в нем можно читать протектед/прайват при помощи рефлексии, а?
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 12:57, спустя 20 минут 15 секунд

    кто там говорил, что пых - гавно и хуета, так как в нем можно читать протектед/прайват при помощи рефлексии, а?

    Ты меня имеешь ввиду?
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 13:00, спустя 3 минуты 23 секунды

    нет, дуда
    Спустя 109 сек.
    http://pyha.ru/forum/topic/3864.msg117902#msg117902
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 13:12, спустя 11 минут 57 секунд

    krasun, а ты попробуй
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • kostyl

    Сообщения: 5205 Репутация: N Группа: Джедаи

    Spritz 2 марта 2011 г. 14:13, спустя 1 час 45 секунд

    krasun, мне кажется что вполне можно…
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 6 марта 2011 г. 15:27, спустя 4 дня 1 час 14 минут

    Абырвалг, заметь, я не говорил что .нет пиздат потому что там такое не катит ;)
    Спустя 14 сек.
    так что свои наезды отсоси у моего хуя :D
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 7 марта 2011 г. 0:05, спустя 8 часов 37 минут 26 секунд

    заметь, я не говорил что .нет пиздат потому что там такое не катит ;)

    а я и не утверждаю что ты такое говорил
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 7 марта 2011 г. 6:39, спустя 6 часов 34 минуты 11 секунд

    Абырвалг, я и не говорил что ты утверждаешь :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!