Yop all !
Je lis le topic depuis le debut, mais ya une chose qui ne marchera pas (je pense). Dans les exemples donnés, on se base sur le type. Ok mais si val == null, alors on ne peut avoir son type...ou alors j'ai trop mal compris...
Bon sinon je propose tout de meme un debut de proposition.
Elle est a base de Framework 2.0 et generics...
Voici la classe qui va tester et instancier si il faut:
public class Test
{
public T IniComposant<T>(T item ) where T: new()
{
// Test valable uniquement avec des types références.
if (item == null)
{
//MessageBox.Show(item.GetType().ToString());
item = new T();
}
return item;
}
}
Pour tester, voila le Main:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
UserControl1 uc1 = null;
UserControl2 uc2 = null;
Test test = new Test();
uc1 = test.IniComposant(uc1);
MessageBox.Show(uc1.ClientSize.ToString());
}
}
Avec cette exemple, on a bien uc1 qui vaut null au départ.
Mais la messagebox affiche bien une taille valide ;)
Mission accomplie... javascript:AjoutSmiley('

');
--
hu ? cOoL