人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

完成運(yùn)行時從字符串動態(tài)創(chuàng)建對象

完成運(yùn)行時從字符串動態(tài)創(chuàng)建對象

更新時間:2022-07-01 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

在運(yùn)行時任意指定對象的創(chuàng)建類型,甚至是用表示類型的名字的字符串創(chuàng)建所需的對象,.net Framwork的反射機(jī)制給我們帶來了解決問題的方法。這里,若只需要創(chuàng)建一般的對象,我們可以通過System.Activator來實(shí)現(xiàn),而較復(fù)雜的我們可以通過獲取構(gòu)造方法來實(shí)現(xiàn)。

反射Reflection是.net中重要機(jī)制,通過反射,可以在運(yùn)行時獲得.net中每一個類型(包括類、結(jié)構(gòu)、委派、接口、枚舉)的成員,包括方法、屬性、事件以及構(gòu)造函數(shù)等,還可以獲得每個成員的名稱、限定符和參數(shù)等,有了反射,就可以對每一個類型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,就可以直接創(chuàng)建對象,即使這個對象的類型在編譯的時候還不知道。

/// <summary>
/// CreateNewControls 根據(jù)空間的名稱,類型字符串,大小、位置去動態(tài)的生成一個控件
/// </summary>
/// <param name="targetControl"> 控件加載到的容器</param>
/// <param name="ctlName">生成的控件實(shí)例名稱</param>
/// <param name="ctlType">生成的控件類型字符串如(TextBox、Button等)</param>
/// <param name="ctlSize">控件的大小</param>
/// <param name="ctlLocation">控件的位置</param>
/// <returns>生成的控件實(shí)例</returns>
private Control CreateNewControls(Control.ControlCollection targetControl,string ctlName,Type ctlType, System.Drawing.Size ctlSize,System.Drawing.Point ctlLocation)
{
Control toCreate;
toCreate = (Control)System.Activator.CreateInstance(ctlType);
toCreate.Name = ctlName;
toCreate.Size = ctlSize;
toCreate.Location = ctlLocation;
targetControl.Add(toCreate);

return toCreate;
}




Size cbSize = new Size(160,40);

Point cbPoint = new Point(64,206);

Control c1 = CreateNewControls(this.Controls,"control1",Type.GetType("System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),cbSize,cbPoint);

c1.Text =" Check Box";



.ne tFramework 1.1上,Type.GetType("System.Windows.Forms.CheckBox, System.Windows.Forms,Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089")。

我們?nèi)绾稳〉盟肳indows.Form程序集的版本和強(qiáng)名稱?可以用GetType(CheckBox).AssemblyQualifiedName這樣的語法,一旦得到了這些信息,我們就可以將這些信息用于其它任何控件,因?yàn)樗麄兌紒碜杂谕粋版本W(wǎng)indows.Form

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 长治市| 墨江| 民权县| 安溪县| 香河县| 甘洛县| 崇左市| 甘肃省| 泸定县| 长兴县| 昔阳县| 扎囊县| 炎陵县| 庆元县| 顺义区| 盈江县| 枝江市| 丽水市| 花莲县| 开远市| 新巴尔虎右旗| 嘉峪关市| 黄冈市| 白水县| 达尔| 澳门| 仁化县| 灵台县| 会昌县| 井陉县| 长兴县| 普兰店市| 县级市| 买车| 喀喇沁旗| 澄江县| 荆州市| 额尔古纳市| 汝阳县| 阿拉善左旗| 乌拉特前旗|