It makes often necessary to use the full type name because of clashing with some property, e.g. every form has a DialogResult property so if you want to test for a DialogResult type value you end up writing if AForm.DialogResult = System.Windows.Form.DialogResult.OK then