C#动态定值法
我有一个在列表中搜索关键字的方法:C#动态定值法,c#,c#-4.0,C#,C# 4.0,我有一个在列表中搜索关键字的方法: private static void Set<TTarget>(IList<Attributes> source, string key, TTarget target, Action<TTarget, string> setter) { if (source[0].Key == key) { var value = source.FirstOrDefault(); se
private static void Set<TTarget>(IList<Attributes> source, string key, TTarget target, Action<TTarget, string> setter) {
if (source[0].Key == key)
{
var value = source.FirstOrDefault();
setter(target, value.Value.ToString());
}
}
您可以实现一个简单的检查,以确保在调用setter方法之前填充了value变量:
private static void Set<TTarget>(IList<Attributes> source, string key, TTarget target, Action<TTarget, string> setter) {
if (source[0].Key == key)
{
var value = source.FirstOrDefault();
if(value == null || value == ""){
Console.WriteLine($"No value found for key {key}!");
} else {
setter(target, value.Value.ToString());
}
}
}
private static void Set(IList源、字符串键、TTarget目标、操作setter){
if(源[0]。键==键)
{
var value=source.FirstOrDefault();
如果(值==null | |值==“”){
WriteLine($“找不到键{key}的值!”);
}否则{
setter(target,value.value.ToString());
}
}
}
如果(value!=null){setter(…);}怎么样?
private static void Set<TTarget>(IList<Attributes> source, string key, TTarget target, Action<TTarget, string> setter) {
if (source[0].Key == key)
{
var value = source.FirstOrDefault();
if(value == null || value == ""){
Console.WriteLine($"No value found for key {key}!");
} else {
setter(target, value.Value.ToString());
}
}
}