-1

SAPbobsCOM.Items次のコードを使用するすべての方法を表示しようとしていました。

 SAPbobsCOM.Items item = (SAPbobsCOM.Items)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems);
        Type t = item.GetType();
        MethodInfo[] mi = t.GetMethods();
        Console.WriteLine("Number of methods={0}", mi.Length);
        foreach (MethodInfo m in mi)
            Console.WriteLine(m);

コードの記述中に IntelliSense によって表示されますが、出力には 7 つのメソッドのみが示されAdd()、メソッドを含む他のいくつかの使用可能なメソッドが除外されます。Update()なぜそうなのですか?

4

2 に答える 2

0

SAPインターフェースに慣れていませんが、考えられる原因は次のとおりです。

  1. Type.GetMethods()パブリックメソッドのみを返します。COMオブジェクトを評価しているように見えるので、他のタイプのメソッドはありそうにありません。
  2. COMオブジェクトの場合、メソッドはメタデータから省略されるか、別のCOMインターフェイスに含まれる可能性があります。
  3. 他のメソッドは、他のクラスによって追加された拡張メソッドである可能性があります。繰り返しになりますが、これがCOMオブジェクトである場合はほとんどありません。
于 2013-01-01T13:04:01.067 に答える