Sri*_*ama 4 c# private class function access-specifier
我是c#编程的新手,我知道类的公共数据成员可以从另一个类访问.有什么方法可以从另一个类访问私有函数?
这就是我试过的.请帮助我.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
private class Myclass
{
private int Add(int num1, int num2)
{
return num1 + num2;
}
}
static void Main(string[] args)
{
Myclass aObj = new Myclass();
//is there any way i can access private function
}
}
}
Run Code Online (Sandbox Code Playgroud)
您好,您可以使用反射来获取类的任何组件.
这是一个演示.试试吧
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace ExposePrivateVariablesUsingReflection
{
class Program
{
private class MyPrivateClass
{
private string MyPrivateFunc(string message)
{
return message + "Yes";
}
}
static void Main(string[] args)
{
var mpc = new MyPrivateClass();
Type type = mpc.GetType();
var output = (string)type.InvokeMember("MyPrivateFunc",
BindingFlags.Instance | BindingFlags.InvokeMethod |
BindingFlags.NonPublic, null, mpc,
new object[] {"Is Exposed private Member ? "});
Console.WriteLine("Output : " + output);
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)