C# Bridge Pattern(Handle/Body)

/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.2
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


public class RenderTarget2D : global::System.IDisposable
{
    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
    protected bool swigCMemOwn;
    
    internal RenderTarget2D(global::System.IntPtr cPtr, bool cMemoryOwn)
    {
        swigCMemOwn = cMemoryOwn;
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
    }
    
    internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RenderTarget2D obj)
    {
        return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
    }
    
    ~RenderTarget2D()
    {
        Dispose();
    }
    
    public virtual void Dispose()
    {
        lock(this)
        {
            if (swigCPtr.Handle != global::System.IntPtr.Zero)
            {
                if (swigCMemOwn)
                {
                    swigCMemOwn = false;
                    examplePINVOKE.delete_RenderTarget2D(swigCPtr);
                }
                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
            }
            global::System.GC.SuppressFinalize(this);
        }
    }
    
    public int width
    {
        set
        {
            examplePINVOKE.RenderTarget2D_width_set(swigCPtr, value);
        } 
        get
        {
            int ret = examplePINVOKE.RenderTarget2D_width_get(swigCPtr);
            return ret;
        } 
    }
    
    public int height
    {
        set
        {
            examplePINVOKE.RenderTarget2D_height_set(swigCPtr, value);
        } 
        get
        {
            int ret = examplePINVOKE.RenderTarget2D_height_get(swigCPtr);
            return ret;
        } 
    }
    
    public RenderTarget2D() : this(examplePINVOKE.new_RenderTarget2D(), true)
    {

    }
}
原文地址:https://www.cnblogs.com/lilei9110/p/4390108.html