我的程序中有一个复杂类型,导致行长很长。这是:
List<FruitCallback<Fruit>>
以下是代码行太长且令人困惑的示例:
private static Dictionary<Type, List<FruitCallback<Fruit>>> callbacks = new Dictionary<Type, List<FruitCallback<Fruit>>>();
我可以通过子类化为它创建一个别名:
class FruitCallbacks : List<SomeClass.FruitCallback<Fruit>> { }
但是我能够发誓我记得在某个地方读到一个别名的方法,这样就不需要空类了。
答案 0 :(得分:7)
您可以将完全限定的 using
语句添加到类文件(在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 { }
}
答案 1 :(得分:3)
你可以这样做:
using Foo = List<FruitCallback<Fruit>>;
然后你可以在任何地方使用Foo List<FruitCallback<Fruit>>
示例:
using System;
using System.Collections.Generic;
using Foo = List<FruitCallback<Fruit>>;
class Program
{
static void Main()
{
Foo f = new Foo();
}
}
答案 2 :(得分:1)
也许您正在考虑通过using语句使类型别名?
using MyType = MyCompany.MyProject.DataAccess.Interfaces.MyType;