Можно ли добавить код в существующий метод при использовании Swig для создания оболочки C # для кода C ++?
При использовании Swig для переноса кода C ++ возможнодобавить методы к нативному типу C ++ с помощью%extend
, Можнодобавить методы в класс оболочки C # с помощью%typemap(cscode)
.
Где метод уже существует в классе оболочки,is there a way to add additional lines of code?
Например, мой метод оболочки C # выглядит так:
public void ItemChanged(CollectionObject collectionObject, string propertyName) {
mynamespacePINVOKE.mynamespace_DataObjectCollection_ItemChanged(swigCPtr, CollectionObject.getCPtr(collectionObject), propertyName);
if (mynamespacePINVOKE.SWIGPendingException.Pending) throw mynamespacePINVOKE.SWIGPendingException.Retrieve();
}
Я хотел бы добавить строку кода:
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**
}