Toon posts:

[.net] Referentie run-time toevoegen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Is het mogelijk dat je tijdens run-time in vb.net een referentie kan aanmaken???? Ik weet wel dat je met reflection functies in andere assemblies kan openen en lezen enzo maar ik vroeg me af of je ze ook als referentie kan gebruiken... :) 8)7

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Waarom wil je at runtime een referentie toevoegen?
Waarom niet at design time?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hmmm... blijkbaar zijn de .net programmeurs nog niet wakker.... ;)

modbreak: Een topic ga je niet kicken na 8 minuten. Je mag je topic slechts na 24h omhoogschoppen (zie ook de algemene FAQ).
Ieder topic is even dringend, en iedere GoT'er heeft ook een 'echt' leven

[ Voor 112% gewijzigd door whoami op 22-09-2003 10:30 ]


Verwijderd

Topicstarter
Nou, als je bijvoorbeeld de locatie wilt wijzigen.

Verwijderd

Topicstarter
Sorry....
modbreak: anders gebruik je even de edit-knop....
Daarnaast is meer uitleg echt wel gewenst. Lees misschien ff de p&w quickstart over duidelijke topics enzo

[ Voor 92% gewijzigd door whoami op 22-09-2003 10:32 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Zie dit hier
Vanaf 2e link.

En alle assemblies worden toch in de project bin gekopieerd? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
gorgi_19 schreef op 22 September 2003 @ 10:32:
En alle assemblies worden toch in de project bin gekopieerd? :?
Inderdaad, daarom snap ik ook nog altijd niet wat de bedoeling van de TS is...

https://fgheysels.github.io/


Verwijderd

Topicstarter
Maar het is dus niet mogelijk om zoiets te doen als..

dim ref as new reference = reference("c:\blabla")

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 22 September 2003 @ 10:40:
Maar het is dus niet mogelijk om zoiets te doen als..

dim ref as new reference = reference("c:\blabla")
1. heb je uberhaupt al op die link geklikt?
2. als je een voorbeeld geeft, zorg dan dat er iig nog iets klopt van het voorbeeld

en aangezien het gokken blijft.. kijk eens naar de Assembly-class. deze zit in system.reflection.

[ Voor 36% gewijzigd door gorgi_19 op 22-09-2003 10:46 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Bedankt. Ga ik daar eens op zoeken ;)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ik snap niks van wat je nou wilt?
dim ref as new reference = reference("c:\blabla")
Waarom zou je dit willen doen? Als je gebruik wil maken van types uit Assembly's die at design time nog niet bekend zijn moet je inderdaad maar eens naar de Reflection namespace kijken.
Nou, als je bijvoorbeeld de locatie wilt wijzigen.
maar als ik dit zo lees wil je gewoon later nog kunnen bepalen waar je dll komt te staan. Dit kan je bereiken door gebruik te maken van het GAC. Als je even op internet gaat zoeken kan je hier ook zat over vinden.
Als je wat anders bedoeld zul je toch echt even wat duidelijk moeten zijn wat je nou precies wilt en wat je ermee wilt bereiken

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 14-08 11:19

dotcode

///\00/\\

Je zou dit bijvoorbeeld willen doen om een plugin te maken. Hierbij een vb in c#, het zelfde is mogelijk in vb (zelfde api):

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
        private void Load()
        {
            string[] files;
            try
            {
                files = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.dll");
            } 
            catch (Exception)
            {
                return;
            }
    
        
            foreach (string f in files)
            {

                try 
                {
                    BasePlugin p = LoadPlugin(f);
                    this.Add(p);
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                    Console.WriteLine(ex.Message);
                }

            }
        }

        private BasePlugin LoadPlugin(string assemblyName)
        {
            BasePlugin plugin;
            try 
            {
                Assembly a = Assembly.LoadFrom(assemblyName);
                Type pluginType = a.GetType("ChangeName.Plugin");
                Console.WriteLine(assemblyName);
                plugin = (BasePlugin)Activator.CreateInstance(pluginType, new object[] {});
                Console.WriteLine(assemblyName);
            } 
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex.Message);
                Console.WriteLine(assemblyName);
                throw(new Exception(assemblyName + " is no valide plugin!"));
            }
            return plugin;
        }   



Misschien kan je er iets mee

Verwijderd

Topicstarter
Ja, thanx. zoiets zocht ik... :)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Assembly.Load en dan Assembly.CreateInstance.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com

Pagina: 1