我的解决方案中有 2 个不同的项目。
在一个中,我有一个名为 MyClass1 的类,在另一个中,我有一个名为 MyClass2 的类 这些类除名称外完全相同。
在一个项目中,我有一个对象列表。在运行时,列表中充满了 MyClass1 对象 我们转换到一个对象。
最后,我想将列表中的每个对象都转换为 MyClass2 对象。
目前它抛出一个异常,提示无法将 MyClass1 类型的对象转换为 MyClass2。
我的代码:
List<Object> _tempObjects = new List<Objects>();
foreach(Object myObjectInput in _tempObjects)
{
MyClass2 temp = (MyClass2) myObjectInput; // here is where it dies
}
这两个类是一样的,只是名字不同而已。 我也试过:
MyClass2 temp = myObjectInput as MyClass2;
最佳答案
你想做的事是不可能的。即使这些类具有相同的内容,它们仍然是不同的类型。
你可以做的是:
- 为这两种类型共享的所有事物创建一个接口(interface)
- 让您的 2 种类型实现该接口(interface)
- 当你从列表中取出对象时转换到这个接口(interface)
关于c# - 无法转换 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103256/