<%@ Page language="C#" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Reflection" %>
<html>
<head>
<script language="C#" runat="server">
private string GetAssemblyInfo()
{
StringBuilder sb = new StringBuilder();
try
{
string assemblyFile = @"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\mscorlib.dll";
Assembly assemblyInfo = Assembly.LoadFrom(assemblyFile);
sb.Append("CodeBase: ");
sb.Append(assemblyInfo.CodeBase);
sb.Append("<br>Location: ");
sb.Append(assemblyInfo.Location);
sb.Append("<br>FullName: ");
sb.Append(assemblyInfo.FullName);
sb.Append("<br>Manifest Resource Names: ");
string[] resourceNames = assemblyInfo.GetManifestResourceNames();
for (int i=0; i<resourceNames.Length; i++)
{
string name = resourceNames[i];
if (i>0) sb.Append(",");
sb.Append(name);
}
Type[] types = assemblyInfo.GetTypes();
foreach (Type typeInfo in types)
{
sb.Append( "<h2>" + typeInfo.FullName + "</h2>");
sb.Append("Number of Constructors: ");
sb.Append(typeInfo.GetConstructors().Length.ToString());
sb.Append("<br>Number of Properties: ");
sb.Append(typeInfo.GetProperties().Length.ToString());
sb.Append("<br>Number of Fields: ");
sb.Append(typeInfo.GetFields().Length.ToString());
sb.Append("<br>Number of Events: ");
sb.Append(typeInfo.GetEvents().Length.ToString());
sb.Append("<br>Number of Methods: ");
sb.Append(typeInfo.GetMethods().Length.ToString());
sb.Append("<br>Is Class: ");
sb.Append(typeInfo.IsClass);
sb.Append("<br>Is Interface: ");
sb.Append(typeInfo.IsInterface);
sb.Append("<br>Is Enum: ");
sb.Append(typeInfo.IsEnum);
sb.Append("<br>Attributes: ");
sb.Append(typeInfo.Attributes);
sb.Append("<br>GUID: ");
sb.Append(typeInfo.GUID.ToString());
}
}
catch (Exception ex)
{
sb.Append( "Error: " + ex.ToString() ) ;
}
return sb.ToString();
}
private void RetrieveInfo_Click(object sender, System.EventArgs e)
{
OutputClass.Text = GetAssemblyInfo();
}
</script>
<title>Reflect Class</title>
</head>
<body>
<form id="ReflectClass" method="post" runat="server">
<asp:button id="RetrieveInfo" onclick="RetrieveInfo_Click" runat="server" Text=" Retrieve Assembly Info "></asp:button>
<br><br>
<asp:label id="OutputClass" runat="server"></asp:label>
</form>
</body>
</html>
|