【发布时间】:2014-02-27 13:29:25
【问题描述】:
我有一些复杂的问题。而是它的奇怪但它的要求。我有两个不同的命名空间,它们都有相同的类结构。 namespace2 的 Class1 继承了 namespace1 的 class1。类的每个参数都属于其他类类型,并且每个类型都在各自的命名空间中,即 Type11 在命名空间 1 中,Type21 在命名空间 2 中(第一个数字表示命名空间)。现在在派生类构造函数中,我需要继承基类构造函数。为此,我需要将每个对象类型转换为其基类。但是当我对对象进行类型转换时。它显示类似“无法将 namespace1.Type21 转换为 namespace2.Type11”的错误
注意: namespace1 和 namespace2 都是不同的类库项目。我在 namespace2 项目中添加了 namesapce1 项目的引用。 Type11、Type21 等是类本身。
这里的每个类型(即 Type11、Type12 等)又是一个类,具有方法参数和其他一些复杂类型的属性。
这是我的示例代码。我试图复制我在现实中面临的相同场景。
namespace Namespace1
{
public class TestClass1
{
private Type14 obj4;
public Type15 obj5;
public TestClass1()
{
}
public TestClass1(Type11 obj1)
{
}
public TestClass1(Type11 obj1,Type12 obj2)
{
}
public TestClass1(Type11 obj1,Type12 obj2,params Type13[] obj3)
{
}
}
}
namespace Namespace2
{
public class TestClass1:Namespace1.TestClass1
{
private Type14 obj4;
public Type15 obj5;
public TestClass1():base()
{
}
public TestClass1(Type21 obj1):base((namespace1.Type11)obj1)
{
}
public TestClass1(Type21 obj1,Type22 obj2):base((namespace1.Type11)obj1,(namespace1.Type12)obj2)
{
}
public TestClass1(Type21 obj1,Type22 obj2,params Type23[] obj3):base((namespace1.Type11)obj1,(namespace1.Type12)obj2,(namespace1.Type13)obj3)
{
}
}
}
谁能告诉我在这种情况下如何进行类型转换?
【问题讨论】:
标签: c# asp.net inheritance constructor type-conversion