首页 > 解决方案 > 如何定义数据类型的委托?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)

标签: c#

解决方案


您可以使用使用别名

创建 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 个更难调试和解决运行时问题来解决问题 :)


推荐阅读