C# 接口如何描述具有不同访问级别的自动实现属性?

C# 接口如何描述具有不同访问级别的自动实现属性?,c#,interface,automatic-properties,C#,Interface,Automatic Properties,这个类属性就是我试图重构成接口的东西 public class Stuff : IStuff { public int Number { get; protected internal set; } } VisualStudio2008重构工具提取以下接口 // Visual Studio 2008's attempt is: public interface IStuff { int Number { get; } } C#编译器抱怨

这个类属性就是我试图重构成接口的东西

public class Stuff : IStuff {
    public int Number {
        get;
        protected internal set;
    }
}
VisualStudio2008重构工具提取以下接口

// Visual Studio 2008's attempt is:
public interface IStuff {
    int Number { get; }
}
C#编译器抱怨错误:

'Stuff.Number.set' adds an accessor not found in interface member 'IStuff.DataOperations'
(这是我遇到的为数不多的几种情况之一,其中VisualStudio生成的代码会导致不正确的编译情况。)


是否有一种直接的解决方案可以将这一属性提取到接口中,而无需创建不同的集合并获取类上的成员/方法?

我使用以下方法进行了测试:

class bla : Ibla {
    public int Blargh { get; protected internal set; }
}

interface Ibla {
    int Blargh { get; }
}

而且效果很好。您是否正确地实现了接口?

我的生成了相同的接口,并且编译得很好…..当您将
IStuff
前缀添加到
Number
属性名称时,我看到了错误….正确-谢谢。我认为这是代码中出现其他编译错误的副作用。