在C#中,接口属性的访问修饰符只能是public
public interface IMyInterface
{
// 公共属性
int MyProperty { get; set; }
}
在实现此接口的类中,你可以选择使用其他访问修饰符(如private
、protected
等),但这些修饰符仅适用于类内部。外部代码仍然可以通过接口访问这些属性,因为它们被视为public
。
例如:
public class MyClass : IMyInterface
{
// 私有属性,仅在类内部可访问
private int _myProperty;
// 实现接口属性,但使用私有字段
public int MyProperty
{
get { return _myProperty; }
set { _myProperty = value; }
}
}
在这个例子中,MyClass
实现了IMyInterface
接口,并将MyProperty
属性设置为私有。然而,外部代码仍然可以通过IMyInterface
接口访问MyProperty
属性,因为它被视为public
。