C# вопросы : Вопрос 1 : 48

Возможно ли с помощью рефлексии в C# вызвать private метод другого класса? 
Если да, то как?

 

Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 

 

 

 


Верно ли наше решение?

Ответ:

Да, возможно. Например :

using System.Reflection; 
 
class Program 
    { 
        static void Main(string[] args) 
        { 
            Another another = new Another(); 
            Type type = another.GetType(); 
 
            MethodInfo metin = type.GetMethod("Hex",BindingFlags.Instance | BindingFlags.NonPublic); 
            metin.Invoke(another, null); 
        } 
    } 
 
    class Another 
    { 
        void Hex() 
        { 
            Console.WriteLine("You are bigger!!"); 
            Console.ReadLine(); 
        } 
    } 

1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.