繁体   English   中英

如何在C#中进行通用服务提供者调用?

[英]How Can I Make generic Service Provider calls in C#?

想象一下,我有一个提供程序,可以为我提供许多可以远程调用的方法。

MyProviderManager.Provider.CallMyFunction(int x, int y, int z);

我有一个通过多种方式使用的类,可以在扩展该类的另一个类中创建特定变量。

例如

[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; } 
}

还有一个扩展它

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

我的问题是,假设有使用类InfoStatusServices的几种不同类型的方法

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

有没有一种合适的方法可以使调用这些方法的通用方法,而不是为所有颜色创建方法?

您可以创建颜色枚举:

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

然后您可以将此参数用作第二个参数。 因此,具有相同签名(取决于颜色)的方法可以作为单个方法使用:

.CallMyFunction(InfoStatusServices info, Color color)

因此,为黑色调用此方法将如下所示:

.CallMyFunction(info, Color.Black)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM