我想要创建一个函数和属性层次化的类库。在我想象中的伪码中,它可能是这样的:
public class SomethingHandler{
private string _someGlobalSalt;
public SomethingHandler(string salt){
_someGlobalSalt= salt;
}
public class NestOfFunctions{
public string HandleStuff(string input){
return input + "With" + _someGlobalSalt;
}
}
}我会像这样消费:
var newHandlerObject = new SomethingHandler("SaltAndPepperOn");
var result = newHandlerObject.NestOfFunctions.HandleStuff("Salad");现在,如果这是实现它的方法,result将包含"SaladWithSaltAndPepperOn"。
但是我意识到这并不是这样做的,因为子类应该不知道父类,但是我如何才能使一组嵌套类具有公共属性呢?
发布于 2017-10-11 10:47:26
你可以用这样的方式实现它:
class Program
{
static void Main(string[] args)
{
var newHandlerObject = new SomethingHandler.NestOfFunctions("SaltAndPepperOn");
var result = newHandlerObject.HandleStuff("Salad");
Console.WriteLine(result);
}
}
public class SomethingHandler
{
public class NestOfFunctions
{
private string _someGlobalSalt;
public NestOfFunctions(string salt)
{
_someGlobalSalt = salt;
}
public string HandleStuff(string input)
{
return input + "With" + _someGlobalSalt;
}
}
}其用途是:
var newHandlerObject = new SomethingHandler.NestOfFunctions("SaltAndPepperOn");
var result = newHandlerObject.HandleStuff("Salad");或
var result = new SomethingHandler.NestOfFunctions("SaltAndPepperOn").HandleStuff("Salad");https://stackoverflow.com/questions/46685561
复制相似问题