现在,我找到问题的所在了,是Type.GetType()出错了
找不到东西
我有一个Test类,如果,Server跟Test在一起,就没有问题
可以直接用
Type MyTypea = Type.GetType("myTest.Test");
Object obj=Activator.CreateInstance(MyTypea);
MethodInfo myAdd = MyTypea.GetMethod("add");
Console.Write("\nSecond method - " + MyTypea.FullName +" returns " + myAdd.Invoke(obj, aa));来找到myTest.Test,现在是,如果我Server提出来,编译成dll,那么他就找不到了
Type MyTypea = Type.GetType("myTest.Test"); 返回为空。
这是怎么回事??
找不到东西
我有一个Test类,如果,Server跟Test在一起,就没有问题
可以直接用
Type MyTypea = Type.GetType("myTest.Test");
Object obj=Activator.CreateInstance(MyTypea);
MethodInfo myAdd = MyTypea.GetMethod("add");
Console.Write("\nSecond method - " + MyTypea.FullName +" returns " + myAdd.Invoke(obj, aa));来找到myTest.Test,现在是,如果我Server提出来,编译成dll,那么他就找不到了
Type MyTypea = Type.GetType("myTest.Test"); 返回为空。
这是怎么回事??
解决方案 »
- 窗体2读取窗体Login的textbox.text的问题
- 怎样让DataGridView再次绑定时不清空原在数据?
- c#注册dll 出错“loadlibrary() 失败 另一个程序正在使用此文件”
- 如何判断文件夹里是否为空?
- 树型问题!急在线等!
- 有没有什么只替换一次的Replace方法
- DropDownList如何实现即可下拉又可编辑 就像百度那样!
- Treeview 实现查询分析器的树状目录
- 请问如何获取dataGrid中某单元格的值?(无内容)
- c#winform调用serialport类触发事件
- 如何将.net程序直接编译成机器代码?
- 在局域网中如何得知别的机器上的SQL Server管理服务器是否在运行!谢谢!
需要注意的是,前面我们讲到了命名空间和装配件的关系,要查找一个类,必须指定它所在的装配件,或者在已经获得的Assembly实例上面调用GetType。
本装配件中类型可以只写类型名称,另一个例外是mscorlib.dll,这个装配件中声明的类型也可以省略装配件名称(.Net装配件编译的时候,默认都引用了mscorlib.dll,除非在编译的时候明确指定不引用它),比如:
System.String是在mscorlib.dll中声明的,上面的Type t = Type.GetType(“System.String”)是正确的
System.Data.DataTable是在System.Data.dll中声明的,那么:
Type.GetType(“System.Data.DataTable”)就只能得到空引用。
必须:
Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
Type MyTypea = ass.GetType("myTest.Test");
FileInfo file=new FileInfo(Path.Combine(Application.StartupPath,"myTest.dll"));
if(file.Exists)
{
try
{
Assembly ass=Assembly.LoadFrom(file.FullName);
Type MyTypea = ass.GetType(className);
Object obj=Activator.CreateInstance(MyTypea,classPara); MethodInfo myAdd = MyTypea.GetMethod(methodName);
myAdd.Invoke(obj, methodPara).ToString();
}
catch(Exception e)
{
//
}
}
已经解决上面的问题了。
------------------------------------------------------------------------------
现在又遇到一个问题:
我在客户端Client用一个循环向Server发数据,一个循环50次,第一次通信,能够全部发过去,
连接没有断开的,我继续点发送,结果第二次只能发送3-5条数据过去,
如果不用dll,而是用cs的话,每次都能发过去,这又是什么回事??
谢谢