C# - 带有 linq 参数的泛型方法
本文关键字:泛型方法 参数 linq 带有 | 更新日期: 2023-09-27 18:31:54
我正在考虑创建这样的东西:
Class.Method<OtherClass>(x => new Dictionary<string, string> { { nameof(x.Property), "Hello World!" } });
我希望该方法无效,但不知何故我无法完成此操作。我了解此签名是
public static void Method<T>(Func<T, Dictionary<string, string>> func)
但我不想使用字典 az a TResult。我想要的只是有一个字典作为输入并填充 T 类型的键。这可能吗?
据我所知,您正在尝试提供一个为现有字典填充键的函数。如果是这种情况,您可以执行以下操作:
public static void Method<T>(Action<T, IDictionary<string, string>> mergeAction);
这可以这样调用:
MyClass.Method<OtherClass>((input, dict) => { dict[nameof(input.Property)] = "hello world"; });
TResult
应该返回 void 的Func<T, TResult>
必须声明为Action<T>