コード例 #1
0
ファイル: VTables.Tests.cs プロジェクト: zopsi/CppSharp
    public void TestVirtualFuntionRetVal()
    {
        // Virtual Functions Object Slicing case
        // See http://stackoverflow.com/questions/3479712/virtual-functions-object-slicing
        var baseVirtual = BaseClassVirtual.Base;

        TestVirtualFunction(baseVirtual, 5);

        BaseClassVirtual baseClass = new DerivedClassVirtual();

        TestVirtualFunction(baseClass, 10);

        var basePtr = BaseClassVirtual.BasePtr;

        TestVirtualFunction(basePtr, 10);

        var managed = new ManagedDerivedClassVirtual();

        TestVirtualFunction(managed, 15);

        baseClass = managed;
        TestVirtualFunction(baseClass, 15);

        var retBase = new ManagedDerivedClassVirtualRetBase();

        TestVirtualFunction(retBase, 10);
    }
コード例 #2
0
ファイル: VTables.Tests.cs プロジェクト: daxiazh/CppSharp
    public void TestVirtualFuntionRetVal()
    {
        // Virtual Functions Object Slicing case
        // See http://stackoverflow.com/questions/3479712/virtual-functions-object-slicing
        var baseVirtual = BaseClassVirtual.GetBase();
        TestVirtualFunction(baseVirtual, 5);

        BaseClassVirtual baseClass = new DerivedClassVirtual();
        TestVirtualFunction(baseClass, 10);

        var basePtr = BaseClassVirtual.GetBasePtr();
        TestVirtualFunction(basePtr, 10);

        var managed = new ManagedDerivedClassVirtual();
        TestVirtualFunction(managed, 15);

        baseClass = managed;
        TestVirtualFunction(baseClass, 15);

        var retBase = new ManagedDerivedClassVirtualRetBase();
        TestVirtualFunction(retBase, 10);
    }