现在我正在移动代码并重写库。不幸的是设计是错误的或未完成的所以我有一堆函数在我的lib中调用静态方法。我不想每次都做namespace.class.subclass.method。我每次都尝试使用method = namespace.class.subclass.method,但这对静态方法和类/名称空间都不起作用。
所以我想破解这个文件或命名空间的别名。直到我清理一切。可能吗?也许通过传递编译标志或设置一些选项?
答案 0 :(得分:2)
如何添加
using namespace;
然后,您必须输入class.subclass.methodName();
如果不改变您的图书馆,我相信这就像它一样好。
答案 1 :(得分:2)
如果您计划将这些从静态方法迁移到实例方法,为什么不简单地将所需的最终结果作为适配器写入现有的静态方法,然后慢慢迁移到使用适配器,最后将实际代码合并到适配器类。
public class StaticAdapter
{
public void Foo()
{
StaticNameSpace.StaticClass.StaticSubclass.Foo();
}
}
用作
var adapter = new StaticAdapter();
adapter.Foo();
在创建新代码时使用适配器,当您触摸旧代码时,转换为使用adpater。一旦适配器保存了对现有代码的所有引用,您就可以开始更改适配器以直接合并代码并退出旧的静态类。