![](/img/trans.png)
[英]“Cannot create an instance of the abstract class or interface” C# error message
[英]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.