我正在使用C#開發移動應用程序(Monotouch,monodroid)。 我有一個類通過這樣的定義:從C#中的字符串名稱獲取Class對象#
public class TempIOAddOn : BaseIOAddOn
{
public TempIOAddOn()
{
}
}
我使用此代碼通過字符串名來訪問類的一個實例:
BaseIOAddOn tempIOAddOn;
Type t= Type.GetType("TempIOAddOn");
tempIOAddOn = (BaseIOAddOn)Activator.CreateInstance(t);
但executation後,t
是null
。
我嘗試下面的代碼也:
BaseIOAddOn tempIOAddOn;
tempIOAddOn = (BaseIOAddOn)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("TempIOAddOn");
但我再次面對null
。 tempIOAddOn
是null
。
我怎麼了?
嘗試使用[大會限定名稱(http://msdn.microsoft.com/en-us/library/system.type .assemblyqualifiedname.aspx)。如果它正在運行Xamarin,它可能需要全限定名稱。我對Silverlight有同樣的限制。 – 2013-04-27 11:46:37
[從類型的部分名稱獲取System.Type]的可能重複(http://stackoverflow.com/questions/179102/getting-a-system-type-from-types-partial-name)**和** [type-gettypenamespace-ab-classname-returns-null](http://stackoverflow.com/questions/1825147/type-gettypenamespace-ab-classname-returns-null) – nawfal 2013-12-05 19:37:35