VB.Net by API/System.Reflection/Assembly
Содержание
- 1 Assembly.CodeBase
- 2 Assembly.EntryPoint
- 3 Assembly.FullName
- 4 Assembly.GetCustomAttributes
- 5 Assembly.GetExecutingAssembly()
- 6 Assembly.GetLoadedModules()
- 7 Assembly.GetManifestResourceNames()
- 8 Assembly.GetReferencedAssemblies()
- 9 Assembly.GetTypes()
- 10 Assembly.GlobalAssemblyCache
- 11 Assembly.Load
- 12 Assembly.Location
Assembly.CodeBase
<source lang="vbnet"> Imports System.Reflection Module Module1
Sub Main() Dim thisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Console.WriteLine("Code base: " & thisAssembly.CodeBase) Console.WriteLine("Full name: " & thisAssembly.FullName) Console.WriteLine("Entry point: " & thisAssembly.EntryPoint.ToString()) Console.WriteLine("From Global Assembly Cache: " & thisAssembly.GlobalAssemblyCache) Console.WriteLine("Location: " & thisAssembly.Location) End Sub
End Module
</source>
Assembly.EntryPoint
<source lang="vbnet"> Imports System.Reflection Module Module1
Sub Main() Dim thisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Console.WriteLine("Code base: " & thisAssembly.CodeBase) Console.WriteLine("Full name: " & thisAssembly.FullName) Console.WriteLine("Entry point: " & thisAssembly.EntryPoint.ToString()) Console.WriteLine("From Global Assembly Cache: " & thisAssembly.GlobalAssemblyCache) Console.WriteLine("Location: " & thisAssembly.Location) End Sub
End Module
</source>
Assembly.FullName
<source lang="vbnet"> Imports System.Reflection Public Class Tester
Public Shared Sub Main Dim myCurrentAppDomain As AppDomain Dim myAssemblies() As [Assembly] Dim myAssembly As [Assembly] Try myCurrentAppDomain = AppDomain.CurrentDomain myAssemblies = myCurrentAppDomain.GetAssemblies For Each myAssembly In myAssemblies Console.WriteLine(myAssembly.FullName) Next Console.WriteLine(myCurrentAppDomain.FriendlyName) Catch ex As Exception Console.WriteLine(ex.Message) End Try
End Sub
End Class
</source>
Assembly.GetCustomAttributes
<source lang="vbnet"> Imports System.Reflection
Public Class MainClass
Public Shared Sub Main() Dim ThisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Dim Attr As Attribute For Each Attr In ThisAssembly.GetCustomAttributes(False) Console.WriteLine(Attr) Next End Sub
End Class
</source>
Assembly.GetExecutingAssembly()
<source lang="vbnet"> Imports System.Reflection Class A End Class Class B End Class Class C End Class Class D End Class
Public Class MainClass
Public Shared Sub Main() Dim ThisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Dim TypeObj As Type For Each TypeObj In ThisAssembly.GetTypes() Console.WriteLine(TypeObj.Name) Next End Sub
End Class
</source>
Assembly.GetLoadedModules()
<source lang="vbnet">
Imports System.Text
Imports System.Security.Cryptography
Public Class Tester
Public Shared Sub Main Dim useAssembly As System.Reflection.Assembly Try useAssembly = Reflection.Assembly.LoadFile("YourAssemblyLocation") Catch ex As System.Exception Console.WriteLine(ex.Message) Return End Try
Console.WriteLine("Full Name: " & useAssembly.FullName) Console.WriteLine("Resources") For Each oneName As String In useAssembly.GetManifestResourceNames() Console.WriteLine(" - " & oneName) Next oneName Console.WriteLine("Exported Types") For Each oneType As System.Type In useAssembly.GetExportedTypes() Console.WriteLine(" - " & oneType.Name) Next oneType Console.WriteLine("Modules") For Each oneModule As Reflection.Module In useAssembly.GetLoadedModules() Console.WriteLine(" - " & oneModule.Name) For Each oneType As System.Type In oneModule.GetTypes() Console.WriteLine(" Type: " & oneType.Name) For Each oneField As Reflection.FieldInfo In oneType.GetFields() Console.WriteLine(" Field: " & oneField.ToString()) Next oneField For Each oneMethod As Reflection.MethodInfo In oneType.GetMethods() Console.WriteLine(" Method: " & oneMethod.ToString()) Next oneMethod Next oneType Next oneModule End Sub
End Class
</source>
Assembly.GetManifestResourceNames()
<source lang="vbnet">
Imports System.Text Imports System.Security.Cryptography Public Class Tester
Public Shared Sub Main Dim useAssembly As System.Reflection.Assembly Try useAssembly = Reflection.Assembly.LoadFile("YourAssemblyLocation") Catch ex As System.Exception Console.WriteLine(ex.Message) Return End Try
Console.WriteLine("Full Name: " & useAssembly.FullName) Console.WriteLine("Resources") For Each oneName As String In useAssembly.GetManifestResourceNames() Console.WriteLine(" - " & oneName) Next oneName Console.WriteLine("Exported Types") For Each oneType As System.Type In useAssembly.GetExportedTypes() Console.WriteLine(" - " & oneType.Name) Next oneType Console.WriteLine("Modules") For Each oneModule As Reflection.Module In useAssembly.GetLoadedModules() Console.WriteLine(" - " & oneModule.Name) For Each oneType As System.Type In oneModule.GetTypes() Console.WriteLine(" Type: " & oneType.Name) For Each oneField As Reflection.FieldInfo In oneType.GetFields() Console.WriteLine(" Field: " & oneField.ToString()) Next oneField For Each oneMethod As Reflection.MethodInfo In oneType.GetMethods() Console.WriteLine(" Method: " & oneMethod.ToString()) Next oneMethod Next oneType Next oneModule End Sub
End Class
</source>
Assembly.GetReferencedAssemblies()
<source lang="vbnet"> Imports System.Reflection Module Module1
Sub Main() Dim thisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Console.WriteLine("Referenced Assemblies: ") Dim RefAssembly As AssemblyName For Each RefAssembly In thisAssembly.GetReferencedAssemblies() Console.WriteLine(RefAssembly.FullName) Next End Sub
End Module
</source>
Assembly.GetTypes()
<source lang="vbnet"> Imports System Imports System.Reflection
Public Class MainClass
Shared Sub Main( ) Dim a As [Assembly] = [Assembly].Load("Mscorlib.dll") Dim theTypes As Type( ) = a.GetTypes( ) Dim t As Type For Each t In theTypes Console.WriteLine("Type is {0}", t) Next t Console.WriteLine("{0} types found", theTypes.Length) End Sub
End Class
</source>
Assembly.GlobalAssemblyCache
<source lang="vbnet"> Imports System.Reflection Module Module1
Sub Main() Dim thisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Console.WriteLine("Code base: " & thisAssembly.CodeBase) Console.WriteLine("Full name: " & thisAssembly.FullName) Console.WriteLine("Entry point: " & thisAssembly.EntryPoint.ToString()) Console.WriteLine("From Global Assembly Cache: " & thisAssembly.GlobalAssemblyCache) Console.WriteLine("Location: " & thisAssembly.Location) End Sub
End Module
</source>
Assembly.Load
<source lang="vbnet"> Imports System Imports System.Reflection
Public Class MainClass
Shared Sub Main( ) Dim a As [Assembly] = [Assembly].Load("Mscorlib.dll") Dim theTypes As Type( ) = a.GetTypes( ) Dim t As Type For Each t In theTypes Console.WriteLine("Type is {0}", t) Next t Console.WriteLine("{0} types found", theTypes.Length) End Sub
End Class
</source>
Assembly.Location
<source lang="vbnet"> Imports System.Reflection Module Module1
Sub Main() Dim thisAssembly As [Assembly] = [Assembly].GetExecutingAssembly() Console.WriteLine("Code base: " & thisAssembly.CodeBase) Console.WriteLine("Full name: " & thisAssembly.FullName) Console.WriteLine("Entry point: " & thisAssembly.EntryPoint.ToString()) Console.WriteLine("From Global Assembly Cache: " & thisAssembly.GlobalAssemblyCache) Console.WriteLine("Location: " & thisAssembly.Location) End Sub
End Module
</source>