我想创建一个具有各种功能和属性的类库。 在我想象的pesudo代码中,它可能是这样的:
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"
。
但我意识到这不是这样做的方法,因为子类应该不知道父类,但是我怎么能用一个公共属性创建一组嵌套类呢?
答案 0 :(得分:1)
你可以这样做:
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");
OR
var result = new SomethingHandler.NestOfFunctions("SaltAndPepperOn").HandleStuff("Salad");