gpt4 book ai didi

C# 可以给类起别名吗(不是 'using' )

转载 作者:行者123 更新时间:2023-11-30 13:58:32 24 4
gpt4 key购买 nike

在 Delphi 中,以下是可能的:

class Alias = Dictionary<long, object>;

别名现在是 dictionary<long, object> .

这在 C# 中可行吗?我一直想不出不用将字典包装到自定义类中的方法。

using 指令将不起作用,因为它位于它所在的文件的本地。

最佳答案

不完全是。

但是你可以这样做:

public class Alias : Dictionary<long, object>
{
}

这意味着您可以使用 Alias到处都是 Dictionary<long, object> 的实例是必须的。但是你不能使用 Dictionary<long, object>哪里有Alias是必需的。

但是,您可以创建一个隐式运算符来透明地从 Dictionary<long, object> 进行转换到Alias实例:

public class Alias : Dictionary<long, object>
{
public Alias() {}
public Alias(Dictionary<long, object> dictionary)
{
foreach(var kvp in dictionary)
Add(kvp);
}

public static implicit operator Alias (Dictionary<long, object> dictionary)
{
return new Alias(dictionary);
}
}

请注意,此隐式转换运算符将创建字典的副本,这可能是意外或不需要的。

关于C# 可以给类起别名吗(不是 'using' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16536116/

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