如何禁用从接口到实现接口的类的类型转换



如何禁用从接口IFoo到类Bar的强制转换?这可能吗?

组装一

public interface IFoo
{
string Name { get; }
}
public class Foo : IFoo
{
public int SecretValue { get; private set; }
public string Name     { get; private set; }
}

装配二

public class Bar : Foo
{
private IFoo secretFoo;
}

我可以阻止Bar将secretFoo强制转换为Bar类型,从而访问SecretValue的值吗?

Bar的基类从Foo更改为IFoo,并将属性secretFoo从类型IFoo更改为类型Foo

public class Bar : IFoo
{
private Foo secretFoo;
public string Name {
get
{
return secretFoo.Name;
}
}
}

最新更新