2016-03-31 15 views
0

VB6'da dosyalar için çok fazla özellik barındıran bir sınıfım var. Emailer'imizi C# koduna dönüştürdüm. VB6 dosya sınıfı, Emailer için yararlı olan birçok bilgiye sahip olacaktır. , bir C# sınıfı yapıcısına bir vb6 özellik sınıfını geçti?

Yani soru ortaya çıktı: VB6'de var kursuna ve benim C# Emailer kurucusuna itin bir yolu var mı? Bu mümkün mü?

VB6 kodda, COM kesme, ile projeye DLL bağlamış ve sonra VB6 kodda ben .. gibi

Dim fileObj As New FileProperties 
    ...fill out the object... 

Dim emailObj As New Emailer(fileObj) 
emailObj.SendEmail() 

şeyler yapabiliriz ama nasıl C# içinde kabul ne dataType bilemez parametreler?

cevap

1

Parametreli kurucuları COM'a maruz bırakamazsınız.

İdeal olarak, FileProperties sınıfınız C# kodunuzda olmalı ve Emailer sınıfınızla birlikte COM aracılığıyla gösterilmelidir. Gönderen sınıfınız, parametrik olmayan kurucunuzda başlatılacak olan FileProperties türünde bir özellik gösterecektir.

VB6

Eğer

Dim emailObj As New Emailer 

yapacağını ve daha sonra kullanarak FileProperties doldurun

emailObj.FileProperties.Prop1 = "" 
İlgili konular