gpt4 book ai didi

c# - 在没有子类化的情况下为复杂类型创建别名?

转载 作者:太空狗 更新时间:2023-10-30 00:16:16 25 4
gpt4 key购买 nike

我的程序中有一个复杂的类型,导致行很长。在这里:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com