É possível adicionar código a um método existente ao usar o Swig para criar um wrapper C # para o código C ++?

Ao usar o Swig para quebrar o código C ++, é possíveladicionar métodos ao tipo nativo do C ++ usando%extend. É possíveladicionar métodos à classe de invólucro C # usando%typemap(cscode).

Onde já existe um método na classe wrapper,Existe uma maneira de adicionar linhas de código adicionais?

Por exemplo, meu método de wrapper C # se parece com isto:

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

Gostaria de adicionar uma linha de código:

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

questionAnswers(1)

yourAnswerToTheQuestion