{"id":233,"date":"2010-09-30T11:56:00","date_gmt":"2010-09-30T11:56:00","guid":{"rendered":"http:\/\/enjoyasp.net\/?p=233"},"modified":"2011-03-08T11:24:05","modified_gmt":"2011-03-08T11:24:05","slug":"%e5%8f%8d%e5%b0%84","status":"publish","type":"post","link":"https:\/\/enjoyasp.net\/index.php\/2010\/09\/30\/%e5%8f%8d%e5%b0%84\/","title":{"rendered":"\u53cd\u5c04"},"content":{"rendered":"<p>1\uff0c\/\/\u8c03\u7528Type\u7c7b\u7684\u9759\u6001\u65b9\u6cd5GetType\uff0c\u5e76\u5c06Type\u5bf9\u8c61\u5f15\u7528\u8fd4\u56de\u7ed9tp\u53d8\u91cf<br \/>\nType tp = Type.GetType(&#8220;ClassA&#8221;, false, false);<br \/>\n\/\/tp\u5bf9\u8c61\u8c03\u7528GetMethods\u65b9\u6cd5\uff0c\u8fd4\u56de\u5bf9\u8c61\u4e2d\u6240\u6709\u516c\u5171\u65b9\u6cd5\u6570\u7ec4\uff0c\u5e76\u8d4b\u503c\u7ed9ma\u6570\u7ec4<br \/>\nMethodInfo[] ma = tp.GetMethods();<br \/>\nConsole.WriteLine(&#8220;\\n\\t=================ClassA\u7c7b\u6240\u542b\u7684\u65b9\u6cd5=================&#8221;);<br \/>\n\/\/\u904d\u5386ma\u6570\u7ec4\u4e2d\u7684\u6240\u6709MethodInfo\u7c7b\u578b\u5b50\u9879<br \/>\nforeach (MethodInfo s in ma){<br \/>\n\/\/\u4f9d\u6b21\u8f93\u51faMethodInfo\u7c7b\u578b\u5b50\u9879\u7684\u5c5e\u6027\u503c<br \/>\nConsole.WriteLine(&#8220;\\n\\t\u3010{0}\u65b9\u6cd5\u3011&#8221;, s.Name);<br \/>\nConsole.Write(&#8220;\u65b9\u6cd5\u6240\u5c5e\u7c7b\u540d\u79f0\uff1a\u3010{0}\u3011&#8221;, s.DeclaringType);<br \/>\nConsole.WriteLine(&#8220;\\t\u65b9\u6cd5\u662f\u5426\u4e3a\u6784\u9020\u51fd\u6570\uff1a\u3010{0}\u3011&#8221;, s.IsConstructor);<br \/>\nConsole.Write(&#8220;\u65b9\u6cd5\u662f\u5426\u4e3apublic\u6210\u5458\uff1a\u3010{0}\u3011&#8221;, s.IsPublic);<br \/>\nConsole.WriteLine(&#8220;\\t\u65b9\u6cd5\u662f\u5426\u4e3ainternal\u6210\u5458\uff1a\u3010{0}\u3011&#8221;, s.IsAssembly);<br \/>\nConsole.Write(&#8220;\u65b9\u6cd5\u662f\u5426\u4e3aprotected\u6210\u5458\uff1a\u3010{0}\u3011&#8221;, s.IsFamily);<br \/>\nConsole.WriteLine(&#8220;\\t\u65b9\u6cd5\u662f\u5426\u4e3aprivate\u6210\u5458\uff1a\u3010{0}\u3011&#8221;, s.IsPrivate);<br \/>\nConsole.Write(&#8220;\u65b9\u6cd5\u662f\u5426\u4e3a\u6cdb\u578b\u65b9\u6cd5\uff1a\u3010{0}\u3011&#8221;, s.IsGenericMethod);<br \/>\nConsole.WriteLine(&#8220;\\t\u65b9\u6cd5\u662f\u5426\u4e3a\u9759\u6001\u65b9\u6cd5\uff1a\u3010{0}\u3011&#8221;, s.IsStatic);<br \/>\nConsole.Write(&#8220;\u65b9\u6cd5\u662f\u5426\u4e3avirtual\u65b9\u6cd5\uff1a\u3010{0}\u3011&#8221;, s.IsVirtual);<br \/>\nConsole.WriteLine(&#8220;\\t\u65b9\u6cd5\u8fd4\u56de\u7c7b\u578b\u4e3a\uff1a\u3010{0}\u3011&#8221;, s.ReturnType);<\/p>\n<p>\/\/\u8c03\u7528s\u7684GetParameters\u65b9\u6cd5\uff0c\u8fd4\u56deParameterInfo\u7c7b\u578b\u6570\u7ec4\/\/\u904d\u5386\u6570\u7ec4\u7684ParameterInfo\u7c7b\u578b\u5b50\u9879<br \/>\nforeach (ParameterInfo pms in s.GetParameters()){\/\/\u8f93\u51faParameterInfo\u7c7b\u578b\u5b50\u9879\u7684\u5c5e\u6027<br \/>\nConsole.WriteLine(&#8220;\\n\\t&#8212;&#8212;\u3010{0}\u53c2\u6570\u3011&#8212;&#8212;&#8220;, pms.Name);<br \/>\nConsole.Write(&#8220;\u53c2\u6570\u7c7b\u578b\uff1a\u3010{0}\u3011&#8221;, pms.ParameterType);<br \/>\nConsole.WriteLine(&#8220;\\t\u53c2\u6570\u4f4d\u7f6e\uff1a\u3010{0}\u3011&#8221;, pms.Position);<br \/>\n}<br \/>\n}??<\/p>\n<p>\u6ce8\uff1a\u5f53\u8de8\u9879\u76ee\u5f15\u7528dll\u65f6\u8981\u91c7\u7528\u5982\u4e0b\u5f62\u5f0f\uff1a<br \/>\nAssembly asmb = Assembly.LoadFrom(&#8220;EnterpriseServerBase.dll&#8221;) ;<br \/>\nType supType = asmb.GetType(&#8220;EnterpriseServerBase.DataAccess.IDBAccesser&#8221;) ;<br \/>\n?<br \/>\n\u6216\u8005\u5728\u5f53\u524d\u9879\u76ee\u5df2\u7ecf\u5f15\u7528\u76ee\u6807dll\u7684\u60c5\u51b5\u4e0b\u91c7\u7528\uff1a<br \/>\nType supType = typeof(BNameSpace.SubSpace.Class);<\/p>\n<p>2\uff0c\u5f97\u5230\u6240\u6709\u5c5e\u6027<br \/>\n? Type type = typeof(T);???? System.Reflection.PropertyInfo[] properties = type.GetProperties();<br \/>\n\/\/\u53ef\u7528 properties[i].SetValue(t, dr[properties[i].Name], null); \u8d4b\u503c<\/p>\n<p>3\uff0c\u521b\u5efa\u5bf9\u8c61\u5b9e\u4f8b<br \/>\n?T t = Activator.CreateInstance&lt;T&gt;();??<br \/>\n\u6216\u8005\uff1aType type = typeof(T);????? T t = Activator.CreateInstance(type);<\/p>\n<p>4,\u8c03\u7528\u65b9\u6cd5\uff1a<br \/>\n Assembly asmb = Assembly.LoadFrom(&#8220;LvShouSecurity.dll&#8221;);<br \/>\n            \/\/Type supType = asmb.GetType(&#8220;LvShouSecurity.SecurityMan&#8221;);<br \/>\n            MethodInfo m = asmb.GetType(&#8220;LvShouSecurity.SecurityMan&#8221;).GetMethod(&#8220;Encrypto&#8221;);<br \/>\n            Object ret = m.Invoke(null, new object[]{&#8220;hello&#8221;});<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\uff0c\/\/\u8c03\u7528Type\u7c7b\u7684\u9759\u6001\u65b9\u6cd5GetType\uff0c\u5e76\u5c06Type\u5bf9\u8c61\u5f15\u7528\u8fd4\u56de\u7ed9tp\u53d8\u91cf Type tp = Typ [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-233","post","type-post","status-publish","format-standard","hentry","category-csharp"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/comments?post=233"}],"version-history":[{"count":0,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/233\/revisions"}],"wp:attachment":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/media?parent=233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/categories?post=233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/tags?post=233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}