I have defined a user control, ExpressionControl, under the namespace:
TriggerEditor.UserControls
I have a form, “IfEditor”, under the namespace:
TriggerEditor.Forms
When I add an instance of my control to the form (naming it expCondition), the following code is generated in the Designer to create the control:
this.expCondition = new TriggerEditor.UserControls.ExpressionControl();
This results in the following compilation error:
The type name 'UserControls' does not exist in the type 'TriggerEditor.Forms.TriggerEditor'
I don’t understand why it is looking in “TriggerEditor.Forms.TriggerEditor”; that’s not what the code says. Now, I can resolve this error manually by modifying the line, removing the “TriggerEditor.” that preceeds “TriggerControls”, as such:
this.expCondition = new UserControls.ExpressionControl();
This satisfies the compiler, however I obviously don’t want to do this every time I add an instance of my ExpressionControl to a form. How do I avoid this situation?
It looks like you might have a
TriggerEditorclass within theTriggerEditor.Formsnamespace; is this the case?If so, because the
TriggerEditorclass is within your current namespace, you are “closer” to this class, and therefore it is looking for a subclass.