我真的很喜欢c#中访问器的语法,但是我需要在setter中使用一些额外的值来获取一些属性。

有什么办法可以做类似的事情,或者使用这种语法是不可能的吗?

public class Accesssor{
    public List<CustomObject> AccessorStuff {
        get {
                return AccessorStuff;
            }
        set (ExtraParameters????) => {
                AccessorStuff.add(new CustomObject(value,ExtraParameters))
            }
        }
}



(我也很难找到它,因为我不知道它的名字是否正确,所以如果我也能获得那条信息,我将不胜感激)

先感谢您。

最佳答案

不,这是不可能的-如果我使用您的财产,这不是我期望的。当我使用set时,我希望更改List,而不是为其添加值。这通常是通过类方法实现的:

public void AddObject(CustomObjectType obj, ExtraParameters extraParameters) =>
    AccessorStuff.Add(new CustomObject(obj, ExtraParameters));

10-04 10:01