gpt4 book ai didi

c# - 用于流畅界面的 IDictionary AddAndReturn 扩展

转载 作者:行者123 更新时间:2023-12-02 19:35:42 24 4
gpt4 key购买 nike

jQuery 有什么好处? ,这是一个很棒的 JavaScript 库,它的目的是能够获取您正在处理的元素作为返回值。这是我所指的示例:

$(function() { 
$("#poo").css("clear", "both").css("margin", "10px");
});

我想为 C# IDictionary interface 实现相同的功能,以便我可以编写如下代码:

IDictionary<string, string> myDictionary = 
new Dictionary<string, string>().
Add("key1", "value1").
Add("key2", "value2").
Add("key3", "value3");

因此,我为 IDictionary 创建了如下扩展方法:

public static IDictionary<string, string> AddAndReturn(this IDictionary<string, string> dictionary, string key, string value) {
dictionary.Add(key, value);
return dictionary;
}

现在我可以像这样使用它:

IDictionary<string, string> poo = 
new Dictionary<string,string>().
AddAndReturn("key1", "value1").
AddAndReturn("key2", "value2").
AddAndReturn("key3", "value3");

我想知道我是否走在正确的道路上。

我正在做的事情是穷人的流畅接口(interface)实现还是与此完全无关?

C# 中是否存在此实现的任何已知案例?

最佳答案

虽然您的实现模式是正确的(并且是常见的),但您的用例可能不是最佳选择。 Object 集合初始值设定项也适用于字典类型:

var poo =  new Dictionary<string,string> {
{ "key1", "value1" },
{ "key2", "value2" },
{ "key3", "value3" }, // this is permissible
};

编译器神奇地将其转换为 Add(string, string) 调用。顺便说一句,最后一对后面明显错误的逗号是故意的。编译器允许这样做,因此您可以简化代码生成器(例如 T4)中的逻辑。

关于c# - 用于流畅界面的 IDictionary AddAndReturn 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7373661/

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