The following code shows some example of generic method
//the T can be inferred from the type of input parameter
public static T DoByInferType<T>(T input)
{
return default(T);
}
//the Toutput cannot be inferred by the input parameter
public static Toutput DoByExplicitType<Tinput, Toutput>(Tinput input)
{
return default(Toutput);
}
int result = Utililty.DoByInferType(1);
//or (the <int> is optional)
//int result = Utililty.DoByInferType<int>(1);
//<string, int> has be explicit
int result2 = Utililty.DoByExplicitType<string, int>("1");
List<string> l = new List<string>();
Converter<string, int> converterUsingDelegate = delegate(string theString)
{
return int.Parse(theString);
};
//public List<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter);
//the TOutput can be inferred from the input paramether
List<int> intList1 = l.ConvertAll(converterUsingDelegate);
No comments:
Post a Comment