我得到了两个库,每个库都有自己的命名空间,它们对于 api 的请求部分具有相同的类结构,但响应不同。
我想编写一个函数来处理与其命名空间类型无关的两个请求(我已经尝试过泛型,但未能创建解决方案)。
这是我正在尝试做的一个例子:
public void Function1()
{
Namespace1.MyType type1 = new Namespace1.MyType1();
type1.InnerType = new Namespace1.MyType2();
type1.PerformMethod1();
}
public void Function2()
{
Namespace2.MyType type1 = new Namespace2.MyType1();
type1.InnerType = new Namespace2.MyType2();
type1.PerformMethod1();
}
我尝试通过以下方式在方法级别使用泛型:
public void Function1<TType1, TType2>()
where TType1: NamesSpace1.Type1, NamesSpace2.Type1, new()
where TType2: Namespace1.Type2. Namespace2.Type2(), new()
{
TType1 type1 = new TType1();
type1.InnerType = new TType2();
type1.PerformMethod1();
}
但是,.net 不允许对泛型进行这种级别的限制。关于如何创建通用函数的任何建议都会很棒。
谢谢