private
有没有办法使用包含类的泛型将字段定义为但仍可在方法中修改?
(为问题的长度道歉;我正在努力确定我在问什么)
具体来说,我目前有三个类A
, B
,C
具有以下要求:
B
并C
有一个名为 的字段name
,但A
没有A
并且C
有一个方法Load()
,但B
没有- 集合
B
并在自定义方法中使用,但C
不使用此方法name
Add()
A
这是我目前的解决方案:
public class BaseClass
{
public SomeType Load() { ... }
}
public interface IClass {
string Name {get; set;}
}
public class MyList : SomeCollection<IClass>
{
// Depends on x.Name, and may modify Name before adding x to the collection
public new void Add(IClass x) { ... }
}
public class A : BaseClass { ... }
public class B : IClass { ... }
public class C : BaseClass, IClass { ... }
如果Name
有一个 public ,这个解决方案对我有用set
。但是有什么方法可以正确封装x.Name
以便Add
可以修改x.Name
,但x.Name
不能在 and 的实例中B
修改C
?