Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felület két illesztőtől öröklődik, amelyek mindegyike egy azonos nevű alapértelmezett tulajdonságot deklarál. A fordító nem tudja feloldani az alapértelmezett tulajdonsághoz való hozzáférést minősítés nélkül. Az alábbi példa ezt szemlélteti.
Public Interface Iface1
Default Property prop(ByVal arg As Integer) As Integer
End Interface
Public Interface Iface2
Default Property prop(ByVal arg As Integer) As Integer
End Interface
Public Interface Iface3
Inherits Iface1, Iface2
End Interface
Public Class testClass
Public Sub accessDefaultProperty()
Dim testObj As Iface3
Dim testInt As Integer = testObj(1)
End Sub
End Class
Amikor megadja testObj(1), a fordító megpróbálja feloldani az alapértelmezett tulajdonságra. Az örökölt interfészek miatt azonban két lehetséges alapértelmezett tulajdonság létezik, ezért a fordító jelzi ezt a hibát.
Hibaazonosító: BC30686
A hiba kijavítása
Kerülje az azonos nevű tagok öröklését. Az előző példában, ha
testObjnincs szüksége például a tagok egyikére sem,Iface2akkor a következőképpen deklarálja azt:Dim testObj As Iface1-vagy-
Implementálja az öröklő felületet egy osztályban. Ezután implementálhatja az örökölt tulajdonságokat különböző névvel. A implementálási osztály alapértelmezett tulajdonsága azonban csak az egyik lehet. Az alábbi példa ezt szemlélteti.
Public Class useIface3 Implements Iface3 Default Public Property prop1(ByVal arg As Integer) As Integer Implements Iface1.prop ' Insert code to define Get and Set procedures for prop1. End Property Public Property prop2(ByVal arg As Integer) As Integer Implements Iface2.prop ' Insert code to define Get and Set procedures for prop2. End Property End Class