Comment savoir si un contrôle est au moment du design ou non?

J'ai une classe (de contrôle), la mise en œuvre de ICustomTypeDescriptor, qui est utilisé à la fois au moment de la conception et de l'exécution par la grille de propriété à des fins de personnalisation. J'ai besoin d'exposer les différentes propriétés au moment de la conception (contrôles standard des propriétés comme widthheight et ainsi de suite) et au moment de l'exécution, lorsque la grille de propriété est utilisée dans mon programme pour modifier les autres propriétés de ce contrôle.

Mon code est comme:

class MyControl : UserControl, ICustomTypeDescriptor
{
    //Some code..

    public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
    {
        return GetProperties();
    }

    public PropertyDescriptorCollection GetProperties()
    {
        //I need to do something like this:
        if (designTime)
        { //Expose standart controls properties
            return TypeDescriptor.GetProperties(this, true);
        }
        else
        {
            //Forming a custom property descriptor collection
            PropertyDescriptorCollection pdc = new PropertyDescriptorCollection(null);
            //Some code..
            return pdc;
        }
    }
}

Est-il un analogue pour un moment de la conception du pavillon en C#? Est-il peut-être préférable d'utiliser la compilation conditionnelle?

source d'informationauteur Vasya