Aracılığıyla paylaş


İzlenecek yol: COM Nesnelerinde Kalıtım Uygulama (Visual Basic)

Visual Basic sınıflardan türetmek Public olanlar'ın önceki sürümlerinde oluşturulan com nesneleri sınıflarda Visual Basic.Özellikler ve com nesnelerinden devralınan sınıflarının yöntemlerini geçersiz kılınmış veya olabilir yalnızca özellikler olarak aşırı ve başka bir taban sınıfın yöntemlerini geçersiz kılınmış veya aşırı yüklü.com nesnelerinden kalıtım, yeniden derlemek istemiyor varolan bir sınıf kitaplığı olduğunda kullanışlıdır.

Aşağıdaki yordam, bir sınıf içeren bir com nesnesi oluşturmak için Visual Basic 6. 0'ı kullanmak ve temel bir sınıf olarak kullanın gösterilmiştir.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

Bu izlenecek yolda kullanılan com nesnesi oluşturmak için

  1. Visual Basic 6. 0'da, yeni bir ActiveX dll projesini açın.Adlı bir proje Project1 oluşturulur.Adında bir sınıf olan Class1.

  2. İçinde Project Explorer, sağ Project1ve ardından Project1 Properties.Proje Özellikleri iletişim kutusu görüntülenir.

  3. Üzerinde Genel sekmesinde Proje Özellikleri iletişim kutusuna yazarak proje adını değiştirmek ComObject1 , Proje adı alan.

  4. İçinde Project Explorer, sağ Class1ve ardından özelliklerini.Özelliklerini pencere sınıfı için görüntülenir.

  5. Değişiklik Name özelliğine MathFunctions.

  6. İçinde Project Explorer, sağ MathFunctionsve ardından View Code.Kod Düzenleyicisi'ni görüntülenir.

  7. Özellik değeri tutmak için bir yerel deðiþken ekleyin:

    ' Local variable to hold property value
    Private mvarProp1 As Integer
    
  8. Özellik eklemek Let ve Get özellik yordamlarını:

    Public Property Let Prop1(ByVal vData As Integer)
       'Used when assigning a value to the property.
       mvarProp1 = vData
    End Property
    Public Property Get Prop1() As Integer
       'Used when retrieving a property's value.
       Prop1 = mvarProp1
    End Property
    
  9. Bir işlev ekleyin:

    Function AddNumbers( 
       ByVal SomeNumber As Integer, 
       ByVal AnotherNumber As Integer) As Integer
    
       AddNumbers = SomeNumber + AnotherNumber
    End Function
    
  10. Oluşturmak ve tıklatarak com nesnesi kaydı Olun ComObject1.dll , Dosya menü.

    [!NOT]

    İle oluşturulmuş bir sınıf açığa çıkarabilir rağmen Visual Basic bir com nesnesi olarak doğru bir com nesnesi değil ve bu yönerge kullanılır.Ayrıntılar için bkz. .NET Framework Uygulamalarında COM Birlikte Çalışabilirliği (Visual Basic).

Birlikte çalışılabilirlik montajları

Aşağıdaki yordamda, yönetimsiz kod (örneğin, bir com nesnesi) ve yönetilen kod arasında köprü görevi gören bir birlikte çalışma derlemesi oluşturur Visual Studio kullanır.Birlikte çalışma derlemesi, Visual Basic gibi birçok com birlikte çalışma ayrıntılarını nesneleri işleme oluşturur birlikte çalışabilirlik sıralaması, ambalaj parametreleri ve dönüş değerleri eşdeğer verilerine işlem türleri ve gelen com nesneleri taşırken.Başvurusunda Visual Basic uygulama noktalarını birlikte çalışma derlemesi, gerçek com nesnesi değil.

Bir com nesnesinin Visual Basic 2005 ve sonraki sürümleri ile kullanmak için

  1. Yeni bir açmak Visual Basic Windows Application projesi.

  2. Proje menüsünde, Başvuru Ekle'yi tıklatın.

    Başvuru Ekle iletişim kutusu görüntülenir.

  3. Üzerinde com sekmesinde, çift ComObject1 , Bileşen adı tıklatın ve liste Tamam.

  4. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.

    Yeni Öğe Ekle iletişim kutusu görüntülenir.

  5. İçinde şablonları bölmesinde tıklatın sınıfı.

    Varsayılan dosya adı Class1.vb, yer ad alan.Bu alan MathClass.vb click geçip Ekle.Bu adlı bir sınıf oluşturur MathClassve kendi kodunu görüntüler.

  6. Üstüne aşağıdaki kodu ekleyip MathClass com sınıfından miras için.

    ' The inherited class is called MathFunctions in the base class, 
    ' but the interop assembly appends the word Class to the name. 
    Inherits ComObject1.MathFunctionsClass
    
  7. Aşağıdaki kodu ekleyerek temel sınıfın ortak yöntemi aþýrý MathClass:

    '  This method overloads the method AddNumbers from the base class. 
    Overloads Function AddNumbers(
        ByVal SomeNumber As Integer,
        ByVal AnotherNumber As Integer) As Integer 
    
        Return SomeNumber + AnotherNumber
    End Function
    
  8. Aşağıdaki kodu ekleyerek devralınan sınıfını genişleten MathClass:

    '  The following function extends the inherited class. 
    Function SubtractNumbers(
        ByVal SomeNumber As Integer,
        ByVal AnotherNumber As Integer) As Integer 
    
        Return AnotherNumber - SomeNumber
    End Function
    

Yeni sınıf com nesnesinde taban sınıfının özelliklerini devralır, bir yöntem overloads ve sınıfını genişleten yeni bir yöntemi tanımlar.

Devralınan sınıf sınamak için

  1. Başlangıç formu için bir düğme eklemek ve kendi kodunu görüntülemek için çift tıklatın.

  2. Button öğesinin, Click olay işleyici yordamı, bir kopyasını oluşturmak için aşağıdaki kodu ekleyin MathClass ve aşırı yüklenmiş yöntemler çağırın:

    Dim Result1 As Short 
    Dim Result2 As Integer 
    Dim Result3 As Integer 
    Dim MathObject As New MathClass
    Result1 = MathObject.AddNumbers(4S, 2S) ' Add two Shorts.
    Result2 = MathObject.AddNumbers(4, 2) 'Add two Integers.
    Result3 = MathObject.SubtractNumbers(2, 4) ' Subtract 2 from 4.
    MathObject.Prop1 = 6 ' Set an inherited property.
    
    MsgBox("Calling the AddNumbers method in the base class " &
           "using Short type numbers 4 and 2 = " & Result1)
    MsgBox("Calling the overloaded AddNumbers method using " &
           "Integer type numbers 4 and 2 = " & Result2)
    MsgBox("Calling the SubtractNumbers method " &
           "subtracting 2 from 4 = " & Result3)
    MsgBox("The value of the inherited property is " &
            MathObject.Prop1)
    
  3. F5 tuşuna basarak projeyi çalıştırın.

Formdaki düğmeyi tıklattığınızda AddNumbers yöntemi ile adlı ilk Short veri türü sayı ve Visual Basic Temel sınıftan yöntemlerden uygun olanını seçer.İkinci çağrı AddNumbers aşırı yönteminden yöneltilen MathClass.Üçüncü çağrıları çağrısı SubtractNumbers sınıfını genişleten yöntemi.Temel sınıfta özelliği ve değeri görüntülenir.

Sonraki Adımlar

Size, farketmişsinizdir aþýrý yüklenmiþ AddNumbers işlevi aynı veri türüne com nesnesinin temel sınıfından miras yöntemi olarak sahip görünüyor.Çünkü bağımsız değişkenleri ve parametreleri temel sınıf yöntemi, Visual Basic 6.0 16-bit tamsayı olarak tanımlanmıştır, ancak 16-bit tamsayı türü olarak açık olan Short sonraki sürümlerinde Visual Basic.Yeni işlev, 32-bit tamsayı kabul eder ve temel sınıf işlevi overloads.

com nesneleriyle çalışırken, parametre boyutu ve veri türleri doğrulamak emin olun.Örneğin, Visual Basic 6.0 koleksiyon nesnesine bir bağımsız değişken olarak kabul eden bir com nesnesi kullanırken, Visual Basic sürümüne koleksiyondan sağlayamaz.

Özellikleri ve yöntemleri com sınıflardan devralınan yerel özellik veya bir özelliği değiştirir veya temel com sınıfından miras yöntemini bildirebilirsiniz yani kılınabilir.Devralınan com özellikleri geçersiz kılmak için kuralları, diğer özellikleri ve yöntemleri aşağıdaki istisnalar dışında geçersiz kılma kurallara benzer:

  • Herhangi bir özellik veya yöntem bir com sınıfından miras alınan geçersiz kılma, tüm diğer devralınan özellikleri ve yöntemleri geçersiz kılmanız gerekir.

  • Kullandığınız özellikleri ByRef parametreleri geçersiz kılınamaz.

Ayrıca bkz.

Başvuru

Inherits Deyimi

Short Veri Türü (Visual Basic)

Diğer Kaynaklar

.NET Framework Uygulamalarında COM Birlikte Çalışabilirliği (Visual Basic)