C#反射の反射詳解(點擊跳轉)
C#反射の反射接口(點擊跳轉)
C#反射反射泛型接口(點擊跳轉)
C#反射の一個泛型反射實現的網絡請求框架(點擊跳轉)
接上篇。
自定義一個泛型類(繼承於接口)
public interface IStack<T> { int Count { get; } bool PushStack(T value); T PopStack(); bool ClearStack(); }
類定義:
namespace stack { public class Mystack<T> :IStack<T> { private Stack<T> stack = new Stack<T>(); public int Count { get { return stack.Count; } } public Mystack() { } public bool PushStack(T value) { stack.Push(value); return true; } public T PopStack() { T value = stack.Pop(); return value; } public bool ClearStack() { stack.Clear(); return true; } } }
調用:
using stack; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace ReflectionDemo { class Program { static void Main(string[] args) { Assembly assembly = Assembly.LoadFrom("stack.dll"); Console.WriteLine(assembly.FullName); Type t = typeof(Mystack<int>); object obj = assembly.CreateInstance(t.FullName); //創建其實例 MethodInfo mi = t.GetMethod("PushStack"); //調用方法 MethodInfo mi2 = t.GetMethod("PopStack"); object[] argss = { 1 }; //參數 object returnValue = mi.Invoke(obj, argss); // 觸發此方法 Console.WriteLine(mi2.Invoke(obj,null)); Console.ReadLine(); } } }
一起學習C#&WPF,請加群:435226676
C#反射の反射詳解(點擊跳轉)
C#反射の反射接口(點擊跳轉)
C#反射反射泛型接口(點擊跳轉)
C#反射の一個泛型反射實現的網絡請求框架(點擊跳轉)