简化的类如下。每个命名空间都在单独的 .cproj 中。构建 z.exe 时出现“B 在未引用的程序集中定义”的问题。
我添加了 ctor A(string s) 因为我不想在每个 z 中都包含 y.dll(我有很多 z)。如何使这项工作没有混乱?
一种方法是在 A(B b) 或 A(string s) 中添加另一个参数,以便它们具有不同数量的参数,但这对我来说并不好。
//namespace x
using y;
public class A
{
public A(string s)
public A(B b)
}
//namespace y
public class B
{
public static explicit operator B(string s)
}
//namesapce z
using x;
public class C
{
void M()
{
string s = "";
A(s);
}
}