当前位置:编程学习 > C#/ASP.NET >>

C#关于一个解决方案下两个项目的数值传递问题

  
将项目Test的运行结果,显示在项目PageExtract1的Windows窗体的TextBox中,该怎么做?
--------------------编程问答-------------------- 不懂 帮顶一下 --------------------编程问答-------------------- 引用=>添加引用=>项目=>找到你的Test  
代码中Using Program类所在命名空间
--------------------编程问答-------------------- 已回答 飘过~ --------------------编程问答-------------------- 项目PageExtract1添加引用Test项目,把Test里面的运行结果放到一个类里面,用PageExtract1这个项目的类去调用Test里面的类不就可以了吗? --------------------编程问答-------------------- 没试过这种情况 --------------------编程问答-------------------- 引用吧,应该可以的。 --------------------编程问答-------------------- 添加 Test  的引用 然后调用 --------------------编程问答-------------------- 能访问到,就有办法拿到 --------------------编程问答-------------------- 在一个命名空间下,修饰符改成public,不在一个命名空间的添加引用 --------------------编程问答-------------------- 方法有两种:
1 将test项目下类的方法改为public,然后在pageExact1下引用Test.dll,在pageExact1下using Test.dll
Test test=new Test();
test.对应的方法();
2 通过反射来调用
 private static void Test3()
        {
            //加载指定路径下的程序集
            //Assembly assembly = Assembly.LoadFile(@"F:\2013\10月\反射\ConsoleApplication1\AssembleTest\bin\Debug\AssembleTest.dll");

            //Assembly formAssembly = Assembly.LoadFrom(@"F:\2013\10月\反射\ConsoleApplication1\AssembleTest\bin\Debug\AssembleTest.dll");
            Assembly assembly = Assembly.LoadFrom(filepath);          

            Type types = assembly.GetType("AssembleTest.Assemble");

            MethodInfo method = types.GetMethod("PrintName");//获取公共方法
            MethodInfo staticMethod = types.GetMethod("PrintSex");

            //反射创建类的实例
            Object obj = assembly.CreateInstance("AssembleTest.Assemble"); //需要加名称空间
            //反射创建类的实例 
            //Activator: 在本地或从远程创建对象类型,或获取对现有远程对象的引用
            Object acrivatorObj = Activator.CreateInstance(types);

            //注意Invoke方法的两个参数,第一个为类的实例对象如果方法是静态的,则忽略此参数,第二个为方法的参数 
            method.Invoke(acrivatorObj, new object[] { "liulu" });//调用对应的方法

            //调用静态方法 第一个参数可以省略
            staticMethod.Invoke(null, new object[] { "男" });

            //通过反射获取字段值
            FieldInfo field = types.GetField("name");
            var value = field.GetValue(obj);
            Console.WriteLine("这是字段值:{0}", value);
        }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,