【问题标题】:Constraints are not allowed on non-generic declarations when define delegate定义委托时,非泛型声明上不允许约束
【发布时间】:2018-08-05 04:22:49
【问题描述】:

我想将delegate 定义如下:

public delegate void DataRequestingEventHandler(object sender, 
CommandEventArgs e) where Entity : IEntityId<EntityKey>, new() where 
EntityKey : IEntityKey, new();

但我收到此错误:

非泛型声明中不允许使用约束

有什么想法吗?

谢谢

【问题讨论】:

    标签: asp.net entity-framework delegates


    【解决方案1】:

    这是因为非泛型声明中不允许使用约束。因此,您需要将Generic Type Parameters 添加到您的声明中,使其成为通用声明。

    看起来您打算将 EntityEntityKey 用作泛型类型参数,但未能声明它们。同样按照惯例,泛型类型参数以T 开头,例如:

    public delegate void DataRequestingEventHandler<TEntity, TEntityKey>(object sender, CommandEventArgs e) 
        where TEntity : IEntityId<TEntityKey>, new() where TEntityKey : IEntityKey, new();
    

    【讨论】:

      猜你喜欢
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多