Здравствуйте, я хочу иметь возможность установить a поля объекта только в методе extension
. Я хотел бы, чтобы это поле было либо полностью закрытым, либо могло быть просто get
доступным извне:
public class Myclass
{
private int Value{get;set;}
}
public static class Ext
{
public Myclass SetValue(this Myclass obj,int val)
{
this.obj.Value=val;
return obj;
}
}
Как вы можете видеть в приведенном выше примере, я должен объявить Value
public, чтобы иметь возможность доступа к нему внутри расширения, я был бы согласен с этим, если бы я мог сделать переменную только get-able
извне.
Мне нужна эта функциональность, потому что я хочу разработать что-то вроде fluent
API, где вы можете установить только некоторые переменные, используя расширение.
например:
a=new Myclass();
a.SetValue1(1).SetValue2(2);//--some code //--a.SetValue3(3);