具有功能层次的类

时间:2017-10-11 10:13:04

标签: c# .net class

我想创建一个具有各种功能和属性的类库。 在我想象的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"

但我意识到这不是这样做的方法,因为子类应该不知道父类,但是我怎么能用一个公共属性创建一组嵌套类呢?

1 个答案:

答案 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");