C#反射创建的对象如何实现类型转换
有这样一个对象classStudent{publicstringname;publicintid;}这个类在两个程序集中都有一个是Student.dll文件,另一个是Sc...
有这样一个对象
class Student{
public string name;
public int id;
}
这个类在两个程序集中都有
一个是Student.dll文件,另一个是School.dll
同时Student类在程序中。
程序中有Student student1 = new Student();
student2是通过加载Student.dll,反射创建的
student3是通过加载School.dll,反射创建的
如何实现student1,student2,student3之间的类型相互转换
具体如下
1、如何把student1转换成student2相同类型的对象
2、如何把student2转换成student1相同类型的对象
3、如何把student2转换成student3相同类型的对象
强制转换均失败 展开
class Student{
public string name;
public int id;
}
这个类在两个程序集中都有
一个是Student.dll文件,另一个是School.dll
同时Student类在程序中。
程序中有Student student1 = new Student();
student2是通过加载Student.dll,反射创建的
student3是通过加载School.dll,反射创建的
如何实现student1,student2,student3之间的类型相互转换
具体如下
1、如何把student1转换成student2相同类型的对象
2、如何把student2转换成student1相同类型的对象
3、如何把student2转换成student3相同类型的对象
强制转换均失败 展开
展开全部
你不要只看类名为 Student
你要看,类的特征HASH之类,我理解是那样的,不是名称一样,代码完全一样就能转的
微软的编译我理解是会给这个类打一个类似GUID之类的标识,必须这个标识,才认为是一个类型的东西
也就是说你应该只能有且只有一个DLL 有 Student 类,其他任何工程用到这个类的都来引用这个DLL就可以了
就是只能放到一个DLL里面,大家都去引用同一个DLL的同一个类,才能保证真的是同一种类型,才能强制非强制转换
你要看,类的特征HASH之类,我理解是那样的,不是名称一样,代码完全一样就能转的
微软的编译我理解是会给这个类打一个类似GUID之类的标识,必须这个标识,才认为是一个类型的东西
也就是说你应该只能有且只有一个DLL 有 Student 类,其他任何工程用到这个类的都来引用这个DLL就可以了
就是只能放到一个DLL里面,大家都去引用同一个DLL的同一个类,才能保证真的是同一种类型,才能强制非强制转换
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询