Abstract and private methods

7 views
Skip to first unread message

zdenek hostinsky

unread,
Aug 27, 2015, 7:18:19 AM8/27/15
to SharpKit Support
Hello

Is that purpose that abstract methods are not generated?
Is there a way how to generate them

As well - I found a trouble when playing with private methods, both ilustrate following example:

[JsType(JsMode.ExtJs, InlineFields = true)]
public abstract class BaseClass : Window
{
protected abstract void abstractmethod();
private void doSomething() // this is override on child even if it is private
{
}
}

[JsType(JsMode.ExtJs, InlineFields = true)]
public abstract class InheritedClass : BaseClass
{
protected override void abstractmethod()
{
callParent(arguments); // this fails
}

private void doSomething() 
{

}
}


generates

Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass", {
    extend: "Ext.window.Window",
    doSomething: function (){
    }
});
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.InheritedClass", {
    extend: "AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass",
    abstractmethod: function (){
        this.callParent(arguments);
    },
    doSomething: function (){
    }
});

ideally it would do somethign like this


Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass", {
    extend: "Ext.window.Window",
    abstractmethod: function (){
       throw 'this is suposed to be abstract method'
    },
    BaseClass_doSomething: function (){
    }
});
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.InheritedClass", {
    extend: "AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass",
    abstractmethod: function (){
        this.callParent(arguments);
    },
    InheritedClass_doSomething: function (){
    }
});


is there a way how to setup it using some generation attributes?

Reply all
Reply to author
Forward
0 new messages