我的程序中有一个复杂的类型,导致行很长。在这里:
List<FruitCallback<Fruit>>
这是一个代码行太长且令人困惑的示例:
private static Dictionary<Type, List<FruitCallback<Fruit>>> callbacks = new Dictionary<Type, List<FruitCallback<Fruit>>>();
我可以像这样子类化它来为它创建一个别名:
class FruitCallbacks : List<SomeClass.FruitCallback<Fruit>> { }
但我可以发誓我记得在某处读过关于为这样的东西起别名的方法,这样就不需要空类了。
最佳答案
您可以添加一个完全合格 using
声明你的类文件(在使用指令部分)为类命名。这有点冗长。
using MyType = System.Collections.Generic.List<YourNamespace.FruitCallback<YourNamespace.Fruit>>;
然后你可以MyType
代替 List<FruitCallback<Fruit>>
在您的代码中。
完整的工作示例。
// aliased outside the namespace
using MyList = System.Collections.Generic.List<Bar.FruitCallBack<Bar.Fruit>>;
namespace Bar
{
// alternately, can be aliased inside the namespace
// using MyList = System.Collections.Generic.List<FruitCallBack<Fruit>>;
class Program
{
static void Main()
{
var myList = new MyList();
}
}
public class FruitCallBack<T> { }
public class Fruit { }
}
关于c# - 在没有子类化的情况下为复杂类型创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7829530/