Swig を使用して C++ コードをラップする場合、 を使用してネイティブ C++ 型にメソッドを追加できます%extend
。を使用して、C# ラッパー クラスにメソッドを追加することができ%typemap(cscode)
ます。
メソッドがラッパー クラスに既に存在する場合、追加のコード行を追加する方法はありますか?
たとえば、私の 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**
}