久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Reflect中MethodInfo使用方法

 戴維圖書館 2015-03-28

Reflect中MethodInfo使用方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace MethodInfoInvokeDemo
{
public class ReflectTest
{
public void MethodWithNoParaNoReturn()
{
Console.WriteLine("不帶參數(shù)且不返回值的方法");
}

public string MethodWithNoPara()
{
Console.WriteLine("不帶參數(shù)且有返回值的方法");
return "MethodWithNoPara";
}

public string Method1(string str)
{
Console.WriteLine("帶參數(shù)且有返回值的方法");
return str;
}

public string Method2(string str, int index)
{
Console.WriteLine("帶參數(shù)且有返回值的方法");
return str + index.ToString();
}

public string Method3(string str, out string outStr)
{
outStr = "bbbb";
Console.WriteLine("帶參數(shù)且有返回值的方法");
return str;
}

public static string StaticMethod()
{
Console.WriteLine("靜態(tài)方法");
return "cccc";
}
}

class Program
{
static void Main(string[] args)
{
Type type = typeof(ReflectTest);
object reflectTest = Activator.CreateInstance(type);

//不帶參數(shù)且不返回值的方法的調用
MethodInfo methodInfo = type.GetMethod("MethodWithNoParaNoReturn");
methodInfo.Invoke(reflectTest, null);

Console.WriteLine();

//不帶參數(shù)且有返回值的方法的調用
methodInfo = type.GetMethod("MethodWithNoPara");
Console.WriteLine(methodInfo.Invoke(reflectTest, null).ToString());

Console.WriteLine();

//帶參數(shù)且有返回值的方法的調用
methodInfo = type.GetMethod("Method1", new Type[]{typeof(string)});
Console.WriteLine(methodInfo.Invoke(reflectTest, new object[]{"測試"}).ToString());

Console.WriteLine();

//帶多個參數(shù)且有返回值的方法的調用
methodInfo = type.GetMethod("Method2", new Type[] { typeof(string), typeof(int) });
Console.WriteLine(methodInfo.Invoke(reflectTest, new object[] { "測試", 100 }).ToString());

//Console.WriteLine();

//methodInfo = type.GetMethod("Method3", new Type[] { typeof(string), typeof(string) });
//string outStr = "";
//Console.WriteLine(methodInfo.Invoke(reflectTest, new object[] { "測試", outStr }).ToString());

Console.WriteLine();

//靜態(tài)方法的調用
methodInfo = type.GetMethod("StaticMethod");
Console.WriteLine(methodInfo.Invoke(null, null).ToString());

Console.ReadKey();
}
}
}

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多