c# - 如何定义数据类型的委托?C#
问题描述
C# 有方法的委托。我正在寻找非常相似的东西,但对于数据类型。
例如,我有一个方法:
public bool IsMatching(Dictionary<string, Dictionary<string, dynamic>> query)
是否可以创建我的自定义“委托数据类型”(或任何可以调用的数据类型)并在任何地方使用它而不是长的 c# in-buit 数据类型?
public delegate Dictionary<string, Dictionary<string, dynamic>> CustomQueryDataType;
...
public bool IsMatching(CustomQueryDataType query)
解决方案
您可以使用使用别名
创建 using alias 指令,以便更轻松地将标识符限定为命名空间或类型
using Bob = Dictionary<string, Dictionary<string, dynamic>>;
class Program
{
public bool IsMatching(Bob query)
{
return false;
}
}
请务必查看完整的文档,有几个限制需要注意
你也可以使用一个类并从它继承。
public class Bob : Dictionary<string, Dictionary<string, dynamic>>
{
}
旁注:每次使用时dynamic
,您都可能通过创建 3 个更难调试和解决运行时问题来解决问题 :)