簡體   English   中英

C#:無法創建抽象類或接口的實例

[英]C#: Cannot create an instance of the abstract class or interface

我正在使用HotelsPro的Web服務並嘗試創建實例,但這給我一個錯誤:

無法創建抽象類或接口“ HotelsPro.hotelsProSvc.b2bHotelSOAPPortType”的實例

這就是我想要做的。

表格1

hotelsProSvc.b2bHotelSOAPPortType a = new b2bHotelSOAPPortType(); getAvailableHotelResponse getres = new getAvailableHotelResponse(); getres=a.getAvailableHotel(apiKey, "A990", checkIn, checkOut, "EUR", "UK", false, rooms, f);

在C#中,不可能創建抽象類或接口的實例。
b2bHotelSOAPPortType是接口或抽象類。 如果打算以這種方式(而不是例如使用依賴注入)創建新對象,則必須找到一個實現b2bHotelSOAPPortType的具體類,然后再實現一個new類。

例如

hotelsProSvc.b2bHotelSOAPPortType a = new Concreteb2bHotelSOAPPortType();

假設Concreteb2bHotelSOAPPortType實現b2bHotelSOAPPortType。

更好的方法是在像Autofaq這樣的DI容器中設置這兩個類之間的關系。

如果b2bHotelSOAPPortType是一個接口,那么它將被實現

interface b2bHotelSOAPPortType {

}

如果它是一個抽象類,那么

abstract class b2bHotelSOAPPortType  {

}

您需要找到一個直接或間接實現b2bHotelSOAPPortType的類。 如果直接實現它,它將看起來像這樣

class Concreteb2bHotelSOAPPortType : b2bHotelSOAPPortType {

}

如果您使用的是Visual Studio,則可以輕松找到哪些類實現了此接口或抽象類。

不能實例化抽象類或接口。

您必須實例化一個從該類繼承的類(或實現該接口)。

暫無
暫無

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

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