Constructor overloading in class which implements IExternalCommand not possible?

Constructor overloading in class which implements IExternalCommand not possible?

juancalvoferrandiz
Enthusiast Enthusiast
479 Views
0 Replies
Message 1 of 1

Constructor overloading in class which implements IExternalCommand not possible?

juancalvoferrandiz
Enthusiast
Enthusiast

Hello everyone!

CONTEXT:

I was trying to use different constructors in a class which I use for the ExternalCommand, but it seems that the PushButtonData constructor only gets as argument a default parameterless constructor. (It neither accept a lonely define parameterless constructor define by me).
QUESTION:
It's this correct? And why its so? An internal decision of the PushButtonData constructor?
Thanks and Merry Christmas to all of you!

 

public class ButtonJuan : IExternalCommand
    {
        ButtonJuan()
        {
        }

        ButtonJuan(bool saveData)
        {
            MemoryClassJuan.Save = saveData;
        }

        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            //bla,bla,bla....
        }
    }

    class App : IExternalApplication
    {
        static void AddRibbonPanel(UIControlledApplication application)
        {
            RibbonPanel ribbonPanel = application.CreateRibbonPanel("bla,bla", "Parameters");

            // Get dll assembly path
            string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;

            // Create push button for Default values
            PushButtonData pushButtonData = new PushButtonData($"{PlConstants.TitleDefaultValues}", "bla,bla,bla...", thisAssemblyPath, "Project.Folder.ButtonJuan");

            PushButton pushButton = ribbonPanel.AddItem(pushButtonData) as PushButton;

            pushButton.ToolTip = PlConstants.ToolTipDefaultValues;
            ContextualHelp contextHelp = new ContextualHelp(ContextualHelpType.Url, PlConstants.HelpPath);
            pushButton.SetContextualHelp(contextHelp);

            BitmapImage image = new BitmapImage(new Uri(PlConstants.ResourceDefaultValues));
            pushButton.LargeImage = image;
        }
    }
0 Likes
480 Views
0 Replies
Replies (0)