0
나는 여러 매개 변수를 더한 반환 형식이 일반적인 방법이 있습니다C# 일반 여러 매개 변수를
public static class Support
{
public static TR JSONKeyName<TR, T1, T2, T3>(this IEnumerable<Tuple<T1, T2>> a, Action<T3> b)
{
TR result = default(TR);
try
{
foreach (var entry in a)
{
b((T3)TypeDescriptor.GetConverter(typeof(T3)).ConvertFromInvariantString("[ \"" + entry.Item1 + "\", " + entry.Item2 + "\" ]"));
}
result = (TR)Convert.ChangeType(true, typeof(TR));
}
catch
{
result = (TR)Convert.ChangeType(false, typeof(TR));
}
return result;
}
}
List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(new Tuple<int, string>(1, "Test 1"));
list.Add(new Tuple<int, string>(2, "Test 2"));
list.Add(new Tuple<int, string>(3, "Test 3"));
var res = list.JSONKeyName<bool>((string entry) =>
{
});
나는 다음과 같은 오류 얻을 위의 예에서 JSONKeyName를 호출 할 때 :
이컴파일러 오류입니다 :
*Using the generic method requires 4 type arguments
이 메서드에는 4 개의 매개 변수가 있으므로 4 개의 형식 인수가 필요합니다 ... 어디에서 혼란이 있습니까? –
나는 오류의 의미를 이해합니다. 그러나 매개 변수 중 하나는 TR 인 반환 유형에 대한 것입니다. 그래서 나는 그것을 잘못 사용하고 있을지 모른다. 나는 제네릭을 사용하는 것에 조금 익숙하지 않으므로 코드가 잘못되었을 수도있다. – adviner
예,하지만 T1, T2 및 T3도 지정해야한다. –