Extension methods med constraint på interface
Jeg har følgende Extension klasse:public static class Extension
{
public static string AsJson<T>(this IEnumerable<T> seq) where T : IAsynchronizable
{
return JsonConvert.SerializeObject(seq);
}
public static string AsJson<T>(this T entity) where T : IAsynchronizable
{
return JsonConvert.SerializeObject(entity);
}
}
Jeg har to metoder:
A. Returnerer en liste:
return HentMinListeAfPersoner().AsJson();
Udkommenterer jeg min nederste AsJson metoder, virker det fint.
Hvis jeg lader den være tilgængelig får jeg en compiler fejl.
Hvordan kan jeg have denne overload side om side.
Jeg vil gerne have at min AsJson() extension metode både kan virke mod List<T> og T.
Hvad mangler jeg?
Skal jeg lave en extension til min extension metode?