我正在使用有问题的 SOAP API:在不同的命名空间中有一堆服务,称为 A、B 和 C。要建立连接并使用 API,我需要使用带有密码的身份验证对象,我们称之为 AutObj . 这个 AutObj 对于 AB 和 C 是相同的,但我不能使用同一个,因为每个命名空间都有它们的类型。所以现在我正在这样做:
class FactoryAut {
public A.AutObj GetAutA (string pw)
A.AutObj AutObj = new A.AutObj();
AutObj.pw = pw;
return AutObj;
}
public B.AutObj GetAutB (string pw)
B.AutObj AutObj = new B.AutObj();
AutObj.pw = pw;
return AutObj;
}
public C.AutObj GetAutC (string pw)
C.AutObj AutObj = new C.AutObj();
AutObj.pw = pw;
return AutObj;
}
我正在考虑实施这样的事情:
public T GetAut (string pw, T)
T.AutObj AutObj = new T.AutObj();
AutObj.pw = pw;
return AutObj;
}
我在哪里将我需要的对象类型传递给方法。我想我必须使用反射对吗?但是我不知道该怎么做,也不知道是否有更好的解决方案。