Autor Beitrag
Ivy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 09:43 
Hallo zusammen,ich möchte die Funktionen meiner dll anzeigen. hab jetzt auch schon hab google abgesucht, aber nicht passendes und funktionierendes gefunden.
weiß jemand wie das funktioniert?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 09:55 
Hallo!

Die Assembly-Klasse bietet Dir z.B. die Funktion GetTypes und von den Typen kannst Du wiederrum über die Funktionen der Type-Klasse die Methoden bestimmen.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 09:56 
ahja, gehts auch noch i-wie genauer? versteh ich nicht so ganz was ich jetz machen muss^^
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 09:57 
Du könntest länger als eine Minute selber drüber nachdenken ... :roll:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 10:08 
naja^^
hab es damit probier msdn.microsoft.com/d...sembly.gettypes.aspx funktioniert aber nicht...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 10:12 
Zeig mal, wie Du das probiert hast, dann kann man da besser weiterhelfen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 10:13 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Assembly SampleAssembly;
            SampleAssembly = Assembly.LoadFrom("d:\\Interop.ExtensionCord.dll");
            MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
           ParameterInfo[] Params = Method.GetParameters();
                foreach (ParameterInfo Param in Params)
            {
                Console.WriteLine("Param=" + Param.Name.ToString());
                Console.WriteLine("  Type=" + Param.ParameterType.ToString());
                Console.WriteLine("  Position=" + Param.Position.ToString());
                Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
                Console.ReadKey();


Params ist aber immer null, und deshalb stürzt das Programm immer ab...
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 10:15 
Okay, das sieht auf den ersten Blick eigentlich okay aus. Wie sollte denn Signatur von "Method1" eigentlich sein?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 10:17 
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Okay, das sieht auf den ersten Blick eigentlich okay aus. Wie sollte denn Signatur von "Method1" eigentlich sein?


hm? verstehe deine Frage nicht so ganz?!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 10:18 
Naja, welche Parameter / Rückgabewert sollte "Method1" haben. Instanzmethode oder statische Methode? usw.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 10:22 
ähm keine ahnung^^ ich weiß nicht was in der dll drin ist. kp
will ja nur die funktionen auslesen^^
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.07.10 10:25 
Ach so, weil Du oben schriebst, Du wolltest die Funktionen "Deiner" DLL auslesen.

Dann würde ich empfehlen, eine Schleife über alle Typen zu machen, darin eine Schleife über alle Methoden und dann ne Schleife über alle Parameter. Dann siehste, was drin ist.

Als Kontrolle kannste dann den Suche bei Google .NET REFLECTOR benutzen ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Mi 21.07.10 10:47 
aha hört sich ziemlich kompliziert an. gibts da nicht ne einfacherer methode? Weil ich kenn die parameter der dll ja nicht.
Critter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: Mi 21.07.10 14:43 
user profile iconIvy hat folgendes geschrieben Zum zitierten Posting springen:
aha hört sich ziemlich kompliziert an. gibts da nicht ne einfacherer methode? Weil ich kenn die parameter der dll ja nicht.


Noch einfacher?
Sorry, aber ein bisschen Mühe wirst du dir auch geben müssen. user profile iconChristian S. hat drei einfache Schritte benannt. Versuche doch einfach einmal die einen nach dem anderen zu verstehen und umzusetzen.

Versuche erst einmal, die erste Schleife über alle Typen hin zu bekommen, dann kann man weiter sehen.

critter

_________________
Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 21.07.10 15:43 
Hallo,

ich hab mal ne ganz andere Frage. Was willst du den mit dem Ergebnis machen? Also wenn du alle Methoden-Namen und die entsprechende Parameter hast?

Gruß
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 21.07.10 18:35 
user profile iconIvy hat folgendes geschrieben Zum zitierten Posting springen:
aha hört sich ziemlich kompliziert an. gibts da nicht ne einfacherer methode? Weil ich kenn die parameter der dll ja nicht.
Der Reflector ist unentbehrlich, aber wenn du die DLL sowieso schon referenziert hast (warum hast du dir nicht einfach die IntelliSense-Ergebnisse angeschaut :gruebel: ?), tut es auch der Object Browser.

PS: Ich hoffe doch, es geht hier wirklich um eine .NET-DLL.

_________________
>λ=
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Do 22.07.10 14:47 
user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

ich hab mal ne ganz andere Frage. Was willst du den mit dem Ergebnis machen? Also wenn du alle Methoden-Namen und die entsprechende Parameter hast?

Gruß


ich muss es für jemandem im auftrag mache, was der jenige mit den funktionen will kp^^
aber er hat eben keine doku zu der dll un weiß deshalb nicht was sie für funktionen beinhaltet...
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Do 22.07.10 14:53 
Okay. Also wenn du es nicht Programmtechnisch benötigst und es wie Kha schon gefordert hat eine DLL-Assembly ist, kannst du es am einfachsten mit dem Object-Browser machen. Dazu bindest du die DLL ein und machst danach einen Doppelklick drauf.

Gruß
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Fr 23.07.10 07:36 
user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Okay. Also wenn du es nicht Programmtechnisch benötigst und es wie Kha schon gefordert hat eine DLL-Assembly ist, kannst du es am einfachsten mit dem Object-Browser machen. Dazu bindest du die DLL ein und machst danach einen Doppelklick drauf.

Gruß


ja so hab ichs jetzt auch gemacht.. trotzdem danke ;)