AI智能
改变未来

C# 调用同一解决方案不同项目的类中的属性或方法

  • 第一步:添加引用

       在引用上右键—-添加引用—–选择要引用的项目。

  • 第二步:实例化
[code]//第一种:new实例化ESClient es = new ESClient();es.CalleeInfo = calleeinfo.ToJsonD();client = es.getClient();//第二种:Activator.CreateInstance() 获取实例化类classname FetchTaskCaller = (classname)Activator.CreateInstance(Assembly.Load(\"namespace\").GetType(\"namespace.classname\"));//调用方法ESClient client = FetchTaskCaller.方法名();//属性赋值FetchTaskCaller.变量名 = 值;
[code]//反射获取类Type type = Assembly.Load(\"namespace\").GetType(\"namespace.classname\");//实例化指定名称的类object obj = System.Activator.CreateInstance(type);//获取类中的你需要调用的方法MethodInfo methodinfo = type.GetMethod(\"getClient\", BindingFlags.Instance | BindingFlags.NonPublic);//给方法传参数  如果是无参方法 直接传null即可object[] parameters = new object[] { 1 };//调用方法 接收返回值client = (ElasticClient)methodinfo.Invoke(obj, parameters);//获取指定名称的私有的属性PropertyInfo propertyInfo = type.GetProperty(\"CalleeInfo\", BindingFlags.Instance | BindingFlags.NonPublic);//给对应属性赋值propertyInfo.SetValue(obj, (object)calleeinfo.ToJsonD(), null);//获取属性值string name = (string)propertyInfo.GetValue(obj, null);//以上是从一篇文章复制的,找不到了。

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C# 调用同一解决方案不同项目的类中的属性或方法