簡體   English   中英

使用ByRef和可選參數從C#從動態對象調用VB6方法

[英]Calling VB6 method from C# from dynamic object with ByRef and optional Parameters

我通常動態地調用類方法而沒有問題,但是只有此方法不起作用,總是返回錯誤:

Dynamic conn = Activator.CreateInstance(Type.GetTypeFromProgID("MyTeam.MyClass"));
bool test = false;
conn.MyFunction(100,"test",DateTime.Now, test, test, "another","another","another");

VB外部類的原始方法:

Public Function MyFunction(ByVal Id As Integer, ByVal Var1 As String, ByVal Fecha As Date, 
                                   Optional ByRef Opcion1 As Boolean = False, 
                                   Optional ByRef Opcion2 As Boolean = False, 
                                   Optional ByVal Var1 As String = "", 
                                   Optional ByVal Var2 As String = "",
                                   Optional ByVal Var3 As String = "" ) As String
  • 問題1:是否可以省略可選參數?

  • 問題2:是否可以通過其他方式調用ByRef參數?

更新1:是的,C#支持ref / out參數,但是...“動態”類型調用方法的變量是否支持這種類型的輸入?

為了在c#中傳遞byref,您在調用函數時也需要在參數前加上ref

conn.MyFunction(100,"test",DateTime.Now, ref test, ref test, "another","another","another");

暫無
暫無

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

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