C# 在已具有具有匹配签名的属性索引器的类上实现IDataErrorInfo

C# 在已具有具有匹配签名的属性索引器的类上实现IDataErrorInfo,c#,properties,idataerrorinfo,indexer,C#,Properties,Idataerrorinfo,Indexer,我想要一个具有索引器字符串this[string propertyName]的类。这将访问可与类序列化的字典,以允许动态属性。此外,我希望实现IDataErrorInfo,以允许对这些属性进行验证 问题是它们有匹配的签名。对此我能做些什么吗?除了隐式实现接口,您还可以通过以下方式显式实现它: string IDataErrorInfo.this[string key]{get { return [..]; }} 除了隐式实现接口,还可以通过以下方式显式实现: string IDataError

我想要一个具有索引器字符串this[string propertyName]的类。这将访问可与类序列化的字典,以允许动态属性。此外,我希望实现IDataErrorInfo,以允许对这些属性进行验证


问题是它们有匹配的签名。对此我能做些什么吗?

除了隐式实现接口,您还可以通过以下方式显式实现它:

string IDataErrorInfo.this[string key]{get { return [..]; }}

除了隐式实现接口,还可以通过以下方式显式实现:

string IDataErrorInfo.this[string key]{get { return [..]; }}

如果绑定是私有的,如何从绑定中引用显式实现?显式接口实现是否被视为公共的?如果是这样,两个具有相同签名的索引器不会导致绑定中出现问题吗。。好问题。您可以添加一个纯(WPF?)绑定帮助程序属性
public IDataErrorInfo DEI{get{return this;}}}
——也许其他人有更智能的解决方案。那么[System.Runtime.CompilerServices.IndexerName(“属性”)呢?我可以在绑定路径中使用显式索引器名称来决定两个索引器之间的关系吗?我认为这是针对命名索引器的,但C#不支持命名索引器。如果绑定是私有的,我如何引用显式实现?显式接口实现是否被视为公共的?如果是这样,两个具有相同签名的索引器不会导致绑定中出现问题吗。。好问题。您可以添加一个纯(WPF?)绑定帮助程序属性
public IDataErrorInfo DEI{get{return this;}}}
——也许其他人有更智能的解决方案。那么[System.Runtime.CompilerServices.IndexerName(“属性”)呢?我可以在绑定路径中使用显式索引器名称来决定这两个索引器吗?我认为这是用于命名索引器的,但C#不支持命名索引器。