Message 1 of 1
Constructor overloading in class which implements IExternalCommand not possible?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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;
}
}