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**
}