假设我有一个实现字符串类型属性的类型:
public class Record
{
public string Value { get; set; }
}
然后我有一个定义同名属性的接口(interface):
public interface IIntValued
{
public int Value { get; set; }
}
我可以使用显式接口(interface)如下:
public class Record : IIntValued
{
public string Value { get; set; }
int IIntValued.Value
{
get{ return 0; } set{}
}
}
但是,如果我希望能够在我的显式接口(interface)中引用字符串“Value”,我可以这样做吗?如果是这样,如何?我想象它是这样的:
public class Record : IIntValued
{
public string Value { get; set; }
public int IIntValued.Value
{
get
{
string value = /*Magic here*/.Value;
return int.parse(value);
}
set{}
}
}
如您所见,我想要“字符串值”“值”属性用于“整数值”“值”属性中的表达式。如果它是另一个显式实现的接口(interface)成员,我可以类型转换为该接口(interface)然后使用,但它如何用于隐式类型成员?
注意:这个例子有点做作,但希望能说明语言问题。
对于隐式类型成员,仅 Value
或 this.Value
应该没问题 - 因为它不会解析为 IIntValued.Value
默认情况下。
我是一名优秀的程序员,十分优秀!