代码之家  ›  专栏  ›  技术社区  ›  Sisiutl

向接口属性添加约束

  •  1
  • Sisiutl  · 技术社区  · 16 年前

    interface IHouse
    {
        IEnumerable<T> Bedrooms { get; } where T : IRoom
    }
    

    谢谢

    4 回复  |  直到 16 年前
        1
  •  9
  •   Scott Dorman    16 年前

    为什么要使用仿制药?只要做:

    interface IHouse
    {
        IEnumerable<IRoom> Bedrooms { get; } 
    }
    

        2
  •  12
  •   Reed Copsey    16 年前

    您还必须将接口标记为通用接口:

    interface IHouse<T> where T : IRoom
    {
        IEnumerable<T> Bedrooms { get; } 
    }
    
        3
  •  2
  •   user1772138    13 年前

    我已经多次遇到这个限制,不得不转而添加显式的get和set方法:

    interface IHouse
    {
        IEnumerable<T> GetBedrooms<T>() where T : IRoom;
    }
    
        4
  •  1
  •   Yuriy Faktorovich    16 年前