簡體   English   中英

"如何實現 WCF 的靜態接口成員?"

[英]How to implement static interface member to WCF?

我有包含一些靜態方法的朴素貝葉斯分類器 C# 控制台應用程序。 而且,我有一個網絡應用程序。 然后,我需要將我的控制台應用程序轉換為 WCF 服務應用程序,以便將它與我的 Web 應用程序一起使用。 但是,問題是我無法實現靜態接口成員。 為什么? 如何為服務應用程序實現靜態接口成員?

IService1.cs:

public interface IService1
{
    [OperationContract]
    void classify(string[] param1);
}

服務1.cs:

static void classify(string[] param1)
{
    // Some code
}

錯誤:

“NaiveBayesService.NaiveBayesProgram”沒有實現接口成員“NaiveBayesService.IService1.classify(string[])”。 'NaiveBayesService.NaiveBayesProgram.classify(string[])' 無法實現接口成員,因為它是靜態的。

你不能 想一想接口代表什么:一個合同,其中一個類的給定實例包含接口中定義的方法,屬性,索引器等。

在靜態類上實現接口的目的是什么? 您將永遠不會有靜態類的實例。

您可以在服務中的非靜態類上實現接口,並在啟動服務時實例化該接口。

實際上,C# 確實(或至少會)<\/em>支持它。<\/h1>

截至 2022 年 1 月,即將發布的 C# 和 .NET 版本將全面支持所謂的static abstract<\/code>成員:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM