📄 revisitreflection.cs
字号:
using System;
using System.Reflection;
class VersionInformationAttribute: Attribute
{
public VersionInformationAttribute(string version)
{
this.version = version;
}
public string version;
}
interface SomeInterface
{
void SayHello();
}
class SomeBase : SomeInterface
{
public SomeBase()
{ // Do nothing
}
public void SayHello()
{
Console.WriteLine("Hello, C# World!");
}
}
[VersionInformation("1.0A")]
class SomeClass : SomeBase
{
public SomeClass(string value): base()
{
SomeString = value;
}
public string SomeString;
private int somefield;
public int Somefield
{
set
{
if (value <= 100)
somefield = value;
else
somefield = -1;
}
get
{
return somefield;
}
}
}
public class RevisitReflection
{
public static void Main()
{
Type type = typeof(SomeClass);
Console.WriteLine("Class Attributes");
foreach (Attribute attr in type.GetCustomAttributes(true))
{
Console.WriteLine(attr);
}
Console.WriteLine("\nClass Fields");
foreach(FieldInfo field in type.GetFields())
{
Console.WriteLine(field);
}
Console.WriteLine("\nClass Methods");
foreach(MethodInfo method in type.GetMethods())
{
Console.WriteLine(method);
}
Console.WriteLine("\nClass Properties");
foreach(PropertyInfo property in type.GetProperties())
{
Console.WriteLine(property);
}
Console.WriteLine("\nClass Members");
foreach(MemberInfo member in type.GetMembers())
{
Console.WriteLine(member);
}
Console.WriteLine("\nClass base type: {0}", type.BaseType);
Console.WriteLine("\nClass Interface");
foreach(object inter in type.GetInterfaces())
{
Console.WriteLine(inter);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -