C# 如何只为一个类的3个子类实现一个非静态方法?
我有7个类继承了“基类”:C# 如何只为一个类的3个子类实现一个非静态方法?,c#,class,structure,C#,Class,Structure,我有7个类继承了“基类”: 基地 类别1:基地 类别2:基础 类别7:基地 对于这7个类中的3个,我必须添加一个非静态的方法(完全相同的代码),但是这个方法对于其他类应该不可见,并且我不知道如何组织我的代码 有人能帮我吗 编辑: 我不能这样做: 基地 使用“secret”方法初始化:Base 类别1:使用“秘密”方法的类 类2:使用“secret”方法的类 类3:使用“secret”方法的类 类别4:基地 类别5:基础 类别6:基础 类别7:基地 因为在非静态方法中,我使用在Cla
- 基地
- 类别1:基地
- 类别2:基础
- 类别7:基地
- 基地
- 使用“secret”方法初始化:Base
- 类别1:使用“秘密”方法的类
- 类2:使用“secret”方法的类
- 类3:使用“secret”方法的类
- 类别4:基地
- 类别5:基础
- 类别6:基础
- 类别7:基地
this.var
这样做:
- 基地
- 使用“secret”方法初始化:Base
- 类别1:使用“秘密”方法的类
- 类2:使用“secret”方法的类
- 类3:使用“secret”方法的类
- 类别4:基地
- 类别5:基础
- 类别6:基础
- 类别7:基地
- 使用“secret”方法初始化:Base
public class Contained {
public void SpecialMethod() {}
}
public class Class1 : Base {
private Contained _contained = new Contained();
public override void NormalMethod() {
// do some work
_contained.SpecialMethod();
}
}
public class Class2 : Base {
private Contained _contained = new Contained();
public override void NormalMethod() {
// do some work
_contained.SpecialMethod();
}
}
当你有特殊要求却忽略了提及时,你是在浪费人们的时间。你的问题太模糊,需要一个具体的例子来解释你想做什么。这个1类,2类的东西让人更困惑。我还认为你使用了错误的术语。你是说财产吗?属性看起来像这样
[Attribute]
并装饰一个class@ErikFunkenbusch很好的解释,但只是为了完整性,属性可以修饰类和/或其成员、属性和方法。是的,对不起,我指的是“属性”。