gpt4 book ai didi

c# - 如何强制客户端设置某些属性

转载 作者:行者123 更新时间:2023-11-30 14:29:10 25 4
gpt4 key购买 nike

我的类有十个属性,必须在使用类之前设置。

我想强制(或至少非常强烈地鼓励,最好是警告)我类的用户在调用类的任何方法之前设置这些属性。

我可以使用一个将所有属性的值作为参数的构造函数,但我不想这样做,因为那么多参数会很笨重。

我可以检查类的所有方法中的属性值,但这为时已晚 - 我想要编译时检查。

我能做什么?

最佳答案

也许您可以使用 Builder Pattern 的一些变体具有流畅的界面。您可能有一些步骤或无法跳过某些属性的东西。例如,要设置构建器的属性 Y,您将需要设置属性 X 的方法返回的对象。

new Builder().SetX(10).SetY(20) //compiles because SetX returns a class with SetY method
new Builder().SetY(20) //does not compile because the builder only has SetX method

为避免拥有多个类,您可以拥有一个具有多个接口(interface)的类,每个接口(interface)只公开一种方法。

另一方面,即使有很多参数,我也可能会选择构造函数

关于c# - 如何强制客户端设置某些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27064505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com