gpt4 book ai didi

c# - C# 3.0 中的命名/可选参数?

转载 作者:行者123 更新时间:2023-11-30 18:48:20 25 4
gpt4 key购买 nike

有没有办法像 C# 4.0 那样向 C# 3.0 添加可选参数?我一定要拥有这个功能,我等不及了!

编辑:

如果您知道实现此目的的解决方法/技巧,也请将其发布。谢谢!

最佳答案

您可以使用匿名类型和反射作为命名参数的解决方法:

public void Foo<T>(T parameters)
{
var dict = typeof(T).GetProperties()
.ToDictionary(p => p.Name,
p => p.GetValue(parameters, null));

if (dict.ContainsKey("Message"))
{
Console.WriteLine(dict["Message"]);
}
}

所以现在我可以这样调用 Foo:

Foo(new { Message = "Hello World" });

...它会写下我的信息。

基本上,我从传递的匿名类型中提取所有属性,并将它们转换为字符串和对象(属性名称及其值)的字典。

关于c# - C# 3.0 中的命名/可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622880/

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