如何在C#中连续调用该方法?

时间:2017-08-15 11:08:45

标签: c#

我看到这个代码在java中输入。

async/await

我用这种方式尝试了C#。

PersonInfo result = personInfoBuilder
            .setName("MISTAKE")
            .setAge(20)
            .setFavoriteAnimal("cat")
            .setFavoriteColor("black")
            .setName("JDM")
            .setFavoriteNumber(7)
            .build();

我有错误[资源不可用于匿名访问。需要客户端身份验证。],

如何在C#中像Java一样连续调用该方法?

1 个答案:

答案 0 :(得分:3)

您建议的代码称为构建器模式。以下是我在C#代码中使用构建器模式的方法。

构建器类

class PersonInfo
    {
        private string name, animan, color;
        private int age, num;

        private PersonInfo() { }

        public class Builder
        {
            PersonInfo info = new PersonInfo();

            public Builder setName(string name) { info.name = name; return this; }
            public Builder setAge(int age) { info.age = age; return this; }
            public Builder setFavoriteAnimal(string animan) { info.animan = animan; return this; }
            public Builder setFavoriteColor(string color) { info.color = color; return this; }
            public Builder setFavoriteNumber(int num) { info.num = num; return this; }

            public PersonInfo build()
            {
                return info;
            }
        }
    }

以下是您如何使用它。

PersonInfo.Builder personInfoBuilder = new PersonInfo.Builder();
PersonInfo result = personInfoBuilder
                                    .setName("MISTAKE")
                                    .setAge(20)
                                    .setFavoriteAnimal("cat")
                                    .setFavoriteColor("black")
                                    .setName("JDM")
                                    .setFavoriteNumber(7)
                                    .build();