2017-01-26 5 views
0

Stellen Sie sich vor, ich habe einen Provider, der mir eine Reihe von Methoden zur Verfügung stellt, die ich aus der Ferne anrufen kann.Wie kann ich generische Service Provider-Anrufe in C# tätigen?

Ich habe eine Klasse, die auf verschiedene Arten verwendet wird, dass bestimmte Variablen in anderen Klassen erstellt werden, die sie erweitern.

Für Beispiel

[DataContract, Serializable] 
public class InfoStatusServices 
{ 
     [DataMember] 
     public int Id { get; set; } 

     [DataMember] 
     public char TypeService { get; set; } 

     [DataMember] 
     public string IdUser { get; set; } 

     [DataMember] 
     public bool ResultStatus { get; set; } 
} 

And One es erstreckt

[DataContract, Serializable] 
public class InfoStatusServicesXPTO : InfoStatusServices 
{ 
    [DataMember] 
    public decimal? Balance { get; set; } 
} 

Meine Frage ist, vorausgesetzt, es gibt ein paar verschiedene Arten von Methoden, die die Klasse InfoStatusServices

MyProviderManager.Provider.CallMyFunctionDark(InfoStatusServices info); 
MyProviderManager.Provider.CallMyFunctionBlue(InfoStatusServices info); 
verwenden

Gibt es einen richtigen Weg, wo ich eine generische Methode zum Aufrufen dieser Insta machen kann d Erstellen von Methoden für alle Farben?

+0

Ich bin nicht sicher, ob ich verstehe, aber die offensichtliche Die Methode besteht darin, einen weiteren Parameter für die Farbe hinzuzufügen. – Husain

Antwort

1

Sie können Farb Aufzählung erstellen:

public enum Color 
{ 
     None = 0, Black = 1, ... 
} 

und dann können Sie dieses Argument als zweiten Parameter verwenden. So Methoden mit derselben Signatur auf Farben je als einzelne Methode epxressed werden können:

.CallMyFunction(InfoStatusServices info, Color color) 

Also für schwarze Farbe Aufruf dieser Methode wird wie folgt aus:

.CallMyFunction(info, Color.Black) 
Verwandte Themen