gpt4 book ai didi

c# - 构造函数参数枚举和魔术字符串

转载 作者:行者123 更新时间:2023-11-30 15:07:25 24 4
gpt4 key购买 nike

我正在开发我的 c# .net 应用程序并使用 Ninject 实现 IoC/DI 模式,现在 Ninject 有一个名为 ConstructorArgument 的类,它有两个参数(argName、argValue)。

所以我需要像这样传递 static argName

new ConstructorArgument("strVar","")

传递硬编码字符串似乎不是一个好的选择。

所以我想为构造函数参数使用反射创建类似动态枚举的东西,所以我不需要传递硬编码字符串。

请指导我完成此过程或建议我采取其他方法来实现此目的。

最佳答案

like dynamics enums

没有现成的构造。如果您真的讨厌字符串,您可以编写某种表达式树 lambda(即 () => new Foo(strVal: "")( ) => new Foo(""),但是 - a: 需要大量工作,如果容器提供了其他参数,b: 将无法正常工作。

老实说,这不是一个问题,特别是因为命名参数意味着参数名称应该被视为一个契约。 IMO,只需使用字符串。如果您担心,请确保在单元测试中涵盖该场景,以便及早发现它是否发生变化。

关于c# - 构造函数参数枚举和魔术字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6607171/

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