gpt4 book ai didi

c# - 类继承泛型字典 和接口(interface)

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

我有一个继承通用字典和接口(interface)的类

public class MyDictionary: Dictionary<string, IFoo>, IMyDictionary
{
}

问题是此类的消费者正在寻找接口(interface)的“.Keys”和“.Values”属性,因此我添加了:

    /// <summary>
///
/// </summary>
ICollection<string> Keys { get; }

/// <summary>
///
/// </summary>
IEnumerable<IFoo> Values { get; }

到界面。

现在,实现也需要有这个,但是当我实现这些时,我得到这个错误:

“关键字 new 是必需的,因为它隐藏了属性键……”

所以我需要做什么。我应该在这些获取属性前添加一个"new"吗?

最佳答案

另一种选择是将接口(interface)上的类型更改为:

public interface IMyDictionary
{
/// <summary>
///
/// </summary>
Dictionary<string, IFoo>.KeyCollection Keys { get; }

/// <summary>
///
/// </summary>
Dictionary<string, IFoo>.ValueCollection Values { get; }
}

这样接口(interface)已经由字典实现,省去了再次实现属性的麻烦,而且它不会隐藏或覆盖原来的实现。

关于c# - 类继承泛型字典<string, IFoo> 和接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/328772/

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