Announcement

Collapse
No announcement yet.

Probleme mit Reflection

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Reflection

    Hallöchen,

    ich kreiere zur Laufzeit eine Form, deren Parameter aus Variablen kommen. So
    sieht mein Code aus:

    Form form = null;

    Assembly assembly = Assembly.GetExecutingAssembly();

    form = (Form)assembly.CreateInstance( sDlgName );

    form.Text=sDlgCaption+"("+iDlgID.ToString()+")";

    form.Show();

    form ist dabei jeweils nicht zugewiesen, d.h. in der vorletzten Zeile knallt
    es. Was mache ich falsch?

    Danke & Gruß,

    Pascal

  • #2
    Hi,

    ich poste dir hier mal ein Code wie ich dynamisch Klassen erzeuge aus einer anderen Assembly die ich zur Laufzeit lade. Damit sollte dein Code dann funktionieren.

    <PRE>
    //Load the assembly
    Assembly assembly = Assembly.LoadFrom(plugIn.AssemblyUrl);

    //Create the type
    Object plugInObject = null;

    //Look for the type to load in the specified Assembly
    foreach (Type type in assembly.GetTypes())
    {
    //If the names match create an instance of that type
    if (type.Name == plugIn.TypeName)
    {
    plugInObject = Activator.CreateInstance(type);
    break;
    }
    }

    </PRE>

    Damit sollte es gehen

    Comment


    • #3
      Hallo Pascal,<BR>
      <BR>
      hier mein Lösungsvorschlag :<BR>
      <BR>
      <PRE>
      <CODE>
      ...
      try
      {
      Assembly a = Assembly.GetExecutingAssembly();
      Type t = a.GetType(sDlgName, true, true);
      Form myForm = (Form) Activator.CreateInstance(t, null);
      }
      catch (Exception e)
      {
      ...
      }
      ...
      </CODE>
      </PRE>
      <BR>
      Ich denke, dass es damit gehen sollte.<BR>
      mfg Christop

      Comment

      Working...
      X