Ist es möglich, einer vorhandenen Methode Code hinzuzufügen, wenn Sie mit Swig einen C # -wrapper für C ++ - Code erstellen?

Wenn Sie Swig zum Umbrechen von C ++ - Code verwenden, ist Folgendes möglichFügen Sie dem systemeigenen C ++ - Typ Methoden hinzu mit%extend. Es ist möglich zuFügen Sie der C # -wrapper-Klasse Methoden hinzu mit%typemap(cscode).

Wenn in der Wrapper-Klasse bereits eine Methode vorhanden ist,Gibt es eine Möglichkeit, zusätzliche Codezeilen hinzuzufügen?

Zum Beispiel sieht meine C # Wrapper-Methode so aus:

  public void ItemChanged(CollectionObject collectionObject, string propertyName) {
    mynamespacePINVOKE.mynamespace_DataObjectCollection_ItemChanged(swigCPtr, CollectionObject.getCPtr(collectionObject), propertyName);
    if (mynamespacePINVOKE.SWIGPendingException.Pending) throw mynamespacePINVOKE.SWIGPendingException.Retrieve();
  }

Ich möchte eine Codezeile hinzufügen:

  public void ItemChanged(CollectionObject collectionObject, string propertyName) {
    mynamespacePINVOKE.mynamespace_DataObjectCollection_ItemChanged(swigCPtr, CollectionObject.getCPtr(collectionObject), propertyName);
    if (mynamespacePINVOKE.SWIGPendingException.Pending) throw mynamespacePINVOKE.SWIGPendingException.Retrieve();
    **insert my line of code here**
  }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage