gpt4 book ai didi

c# - 基本 C# 接口(interface)问题

转载 作者:行者123 更新时间:2023-11-30 19:12:48 24 4
gpt4 key购买 nike

我想实现以下结构:

public interface IMyDbSet
{
IEnumerable<User> Users { get; }
}

public class ConcreteDbSet : IMyDbSet
{
DbSet<User> Users { get; set; }
}

尽管DbSet<T>继承自 IEnumerable<T>这是不可能的。

Visual Studio 错误消息:

.... does not implement interface member '....'. '...' cannot implement '....' because it does not have the matching return type of '....'.

是否有另一种方法来实现这样的结构,或者这根本不可能吗?

谢谢。

最佳答案

最简单的方法是显式实现接口(interface)并从显式 Users 属性返回隐式 Users 属性的值。

public interface IMyDbSet
{
IEnumerable<User> Users { get; }
}

public class ConcreteDbSet : IMyDbSet
{
IEnumerable<User> IMyDbSet.Users
{
get { return Users; }
}

DbSet<User> Users
{
get; set;
}
}

关于c# - 基本 C# 接口(interface)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948263/

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