(1)네임스페이스 ClassLibrarySport
{
공개 추상 클래스 Sport
{
보호된 문자열 이름;
공개 추상 문자열 GetName();
공개 추상 문자열 GetDuration();
}
}
= = = = = == = == = == = == = == = == = == = == = == = == = == = == = == = == = = = = =
(2)네임스페이스 ClassLibrarySomeSports//该项目添加了对(1)적용
{
public class Football : ClassLibrarySport.Sport
{
public Football()
{
name = "Football";
}
공개 재정의 문자열 GetName()
{
반환 이름;
}
공개 재정의 문자열 GetDuration()
{
return "4개의 15분 분기";
} }
}
=
= = = = == = == = == = == = == = == = == = == = == = == = == = == = == = == = == = =
(3)네임스페이스 ConsoleAssemblyTest//该项目添加了对(1)적용
{
class Program
{
static void Main(string[] args)
{
Assembly Assembly = Assembly.LoadFrom(@"E:ClassLibrarySomeSports
bin DebugClassLibrarySomeSports.dll");
유형[] 유형 = 어셈블리.GetTypes();
Console.WriteLine("ClassLibrarySomeSports.dll에서 유형 가져오기:");
for (int i = 0; i < type.Length; i++)
{
Console.WriteLine(types[i].Name);
}
//GetConstructor() 메서드를 사용하여
메서드를 사용하여 GetConstructor() 메서드를 사용하세요.");
ConstructorInfo ci = 유형[0].GetConstructor(new Type[0]);
ClassLibrarySport.Sport sport = (ClassLibrarySport.Sport)ci.Invoke(새 개체[0]);
Console.WriteLine(sport.GetName() + " has " + sport.GetDuration());
//사용Activator.CreateInstance() 메소드 사용 방법은 다음과 같습니다.//사용
Assembly.CreateInstance()가 返回为null,?
Console.WriteLine("CreateInstance() 메서드 사용:");
ClassLibrarySport.Sport sport1 = (ClassLibrarySport.Sport)
Activator.CreateInstance(types[0]);
Console.WriteLine(sport1.GetName() + " has " + sport1.GetDuration());
//반대형 결정 유형 중 "GetDuration" 방식의 방법, 일반적으로 Invoke() 방법과 관련된 방법
object objSport = Activator.CreateInstance(types[0]);
MethodInfo 메소드 = 유형[0].GetMethod("GetDuration");
object o = method.Invoke(objSport, new object[0]);
Console.WriteLine(o를 문자열로);
Console.Read();
}
}
}
= = = = = == = == = == = == = == = == = == = == = == = == = == = ==
출력:
ClassLibrarySomeSports에서 유형 가져오기. dll:
축구
사용 방법 GetConstructor():
축구에는 15분 쿼터가 4개 있습니다.
사용 방법 CreateInstance():
축구에는 15분 쿼터가
4개 있습니다.
http://www.cnblogs.com/KissKnife/archive/2006/08/13 /475717.html