|
-
Feb 2nd, 2003, 05:08 PM
#1
Thread Starter
yay gay
Reflection...
when seeing functions/methods using reflection is it possible to see in a function the name of the parameters? or not?
\m/  \m/
-
Feb 6th, 2003, 11:29 AM
#2
Lively Member
No. That's just code naming that is lost after compiling. Only the arguments types are (obviously) preserved. If you compile in debug mode, that information is preserved, but I don't know how to access it.
-
Feb 6th, 2003, 01:14 PM
#3
wrong. You can. Use the ParameterInfo class. You can the name and type.
-
Feb 6th, 2003, 01:17 PM
#4
sorry this is in VB, but you can get the idea
Code:
' This program writes a report about assembly
Imports System
Imports System.Reflection
Public Module DLLReport
Public Sub Main(ByVal args() As String)
LoadDLL(args(0))
End Sub
Public Sub LoadDLL(ByVal filename As String)
Dim asm As [Assembly] ' Assembly is reserved vb word so use the brackets to override
Dim myClasses() As Type
Dim myMethods() As MethodInfo
Dim myEvents() As EventInfo
Dim myProperties() As PropertyInfo
Dim myParameters() As ParameterInfo
Dim myTypes As Type
Dim myMethodInfo As MethodInfo
Dim myEventInfo As EventInfo
Dim myPropertyInfo As PropertyInfo
Dim myParameterInfo As ParameterInfo
asm = [Assembly].LoadFrom(filename)
If Not(asm Is Nothing) Then
myClasses = asm.GetTypes()
End If
For Each myTypes In myClasses
' Output Classname
Console.Writeline(myTypes.ToString())
' Lets get all methods(sub and function) from this class
myMethods = myTypes.GetMethods()
For Each myMethodInfo In myMethods
Console.Writeline("---Method---" & myMethodInfo.Name & " Returns " & myMethodInfo.ReturnType.ToString())
' Now lets get the Parameters for this method
myParameters = myMethodInfo.GetParameters()
For Each myParameterInfo In myParameters
Console.WriteLine(" ---Parameter---" & myParameterInfo.Name & " As " & myParameterInfo.ParameterType.ToString())
Next myParameterInfo
Next myMethodInfo
' Lets get all events
myEvents = myTypes.GetEvents()
For Each myEventInfo In myEvents
Console.Writeline("---Event---" & myEventInfo.Name)
Next myEventInfo
' Lets get all properties
myProperties = myTypes.GetProperties()
For Each myPropertyInfo In myProperties
Console.Writeline("---Properties---" & myPropertyInfo.Name & " As " & myPropertyInfo.PropertyType.ToString())
Next myPropertyInfo
Next myTypes
End Sub
End Module
-
Feb 6th, 2003, 01:20 PM
#5
Thread Starter
yay gay
\m/  \m/
-
Feb 6th, 2003, 01:26 PM
#6
Lively Member
-
Feb 6th, 2003, 01:27 PM
#7
Thread Starter
yay gay
no
its me who's fantastic
\m/  \m/
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|