zu erklären, was ich mit einem Beispiel machen möchte, ist meine Methode einfacher:
private void Update<T>(IInterface<T> provider, IEnumerable<T> models)
{
foreach (var model in models)
provider.Update(model);
}
wie ich es nenne
Update<ModelType>(_provider,models);
Ich möchte die Punktnotation so verwenden, aber die Methode muss in dieser Klasse und nicht in der Provider-Klasse deklariert werden
_provider.Update<ModelType>(models);
Vielen Dank
Sie können dies mit Erweiterungsmethoden erreichen . Die Methode sollte wie public static
in der public static
Klasse deklariert sein und den ersten Parameter vor dem this
Modifikator haben:
public static class MyExt
{
public static void Update<T>(this IInterface<T> provider, IEnumerable<T> models)
{
foreach (var model in models)
provider.Update(model);
}
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen