首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数层次化的类

函数层次化的类
EN

Stack Overflow用户
提问于 2017-10-11 10:13:03
回答 1查看 51关注 0票数 0

我想要创建一个函数和属性层次化的类库。在我想象中的伪码中,它可能是这样的:

代码语言:javascript
复制
public class SomethingHandler{
  private string _someGlobalSalt;
  public SomethingHandler(string salt){
    _someGlobalSalt= salt;
  }

  public class NestOfFunctions{
    public string HandleStuff(string input){
        return input + "With" + _someGlobalSalt;
    }
  }
}

我会像这样消费:

代码语言:javascript
复制
var newHandlerObject = new SomethingHandler("SaltAndPepperOn");
var result = newHandlerObject.NestOfFunctions.HandleStuff("Salad");

现在,如果这是实现它的方法,result将包含"SaladWithSaltAndPepperOn"

但是我意识到这并不是这样做的,因为子类应该不知道父类,但是我如何才能使一组嵌套类具有公共属性呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-11 10:47:26

你可以用这样的方式实现它:

代码语言:javascript
复制
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;
        }
    }
}

其用途是:

代码语言:javascript
复制
        var newHandlerObject = new SomethingHandler.NestOfFunctions("SaltAndPepperOn");
        var result = newHandlerObject.HandleStuff("Salad");

代码语言:javascript
复制
        var result = new SomethingHandler.NestOfFunctions("SaltAndPepperOn").HandleStuff("Salad");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46685561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档