C#ÖÐÈçºÎÀí½â¡¾·´Éä¡¿¼¼Êõ
ÄãÊ×ÏÈÒªÀí½âһϸÅÄ
Ò» ÀàÐÍ(Type) ¶ÔÏóÊÇʲô
±ÈÈç object x; xÊǶÔÏó£¬object¾ÍÊÇËüµÄÀàÐÍ£¬ÔÚ³ÌÐòÖÐÈçºÎÃèÊöÀàÐÍÕâ¸ö¸ÅÄîÄØ£¿
¾ÍÊÇType(System.Type)¡£Òª»ñȡij¸öÀàµÄÀàÐÍ¿ÉÒÔÓÃtypeof()²Ù×÷·û
object a;object b; DataTable t;
aType = typeof(object);Type bType = typeof(object);tType = typeof(DataTable);
aType==bType!=tType;
¶þ ³ÌÐò¼¯(Assembly) ¾ÍÊÇÄãIDEÉú³ÉµÄ.exe»ò.dllÎļþµÄÔËÐÐʱ¾Í½Ð³ÌÐò¼¯¡£
ËùÓеĴúÂë¶¼ÔÚ³ÌÐò¼¯ÖС£Äã¿ÉÒÔͨ¹ýAssembly.Load()ϵÁк¯Êý¶¯Ì¬¼ÓÔØ³ÌÐò¼¯£¨ÕâÒ»²½ÊǶ¯Ì¬£«ÔØ´úÂëµÄǰÌᣬÒòΪËùÓеĴúÂë¶¼ÔÚ³ÌÐò¼¯ÖУ©¡£
Èý ¶¯Ì¬¼ÓÔØ
ÎÒÃÇÆÕͨµ÷ÓôúÂëÊÇ: ¶ÔÏóÃû.·½·¨Ãû(²ÎÊýÁбí);
class a
{ void func(int x)
{
}
public static void Main(string[] args)
{
//´´½¨¶ÔÏó a a1 = new a();
//µ÷Óú¯Êý a1.func(1);
}
}
Ó÷´É䶯̬µ÷ÓôúÂëÊÇ
//¼ÓÔØ³ÌÐò¼¯ System.Reflection.Assembly asm = Assembly.LoadFile(assemblyPath);
//»ñÈ¡ÀàÐÍ Type aType = asm.GetType("Ãû×Ö¿Õ¼ä.ÀàÃû");
//»ñȡûÓвÎÊýµÄ¹¹Ô캯Êý System.Reflection.ConstructorInfo conn = t.GetConstructor(new Type[0]);
//µ÷ÓÃûÓвÎÊýµÄ¹¹Ô캯Êý£¬Invoke·µ»ØobjectËüÆäÊÇaÀà object a1 = conn.Invoke(new object[0]);
//»ñÈ¡²ÎÊýÀàÐÍΪint,º¯ÊýÃûΪfuncµÄ·½·¨ MethodInfo method = t.GetMethod("func",new Type[]{typeof(int)});
//ÔÚa1Éϵ÷ÓÃfunc·½·¨£¬²ÎÊýΪ1 method.Invoke(a1,new object[]{1});
¶¯Ì¬µ÷Ó㨺óÒ»ÖÖ·½·¨£©±È¾²Ì¬µ÷Óøü¸´ÔÓ£¬¶øÇÒЧÂÊ´ó¸ÅµÍ20±¶£¨ÍøÉÏÓиö¸çÃǺÃÏñ²âÊÔ¹ý£©¡£Ö»ÓÐÔÚÌØÊâµÄʱºò²Åµ÷Óö¯Ì¬¼ÓÔØ¶¯Ì¬µ÷Ó㣣±ÈÈ磬ÄãµÄÖ÷³ÌÐòÆô¶¯µÄʱºò×ÓÄ£¿é»¹Ã»ÓУ¬Òª¸ù¾ÝµÇ½ÐÅÏ¢ÏÂÔØ×ÓÄ£¿é´úÂë²¢µ÷ÓÃ×ÓÄ£¿é´úÂ룬¾ÍÖ»ÄÜÓö¯Ì¬£«ÔØÀ´ÊµÏÖÁË.
ËÄ ÔªÊý¾Ý .netÉú³ÉµÄIL´úÂëÖбêÃ÷ÁËÔÚÕâ¸ö(exe,dll)ÎļþÖÐËùÓеÄclass(Àà) method£¨·½·¨£©Attribute£¨ÊôÐÔ£© Property£¨ÀàÊôÐÔ£©µÄÇ©ÃûºÍµ÷Ó÷½·¨ÐÅÏ¢£¬ÕâЩÐÅÏ¢¾Í½Ð×öÔªÊý¾Ý¡£ËùνµÄReflection·´É䣬¾ÍÊÇÀûÓÃÔªÊý¾Ý£¬¿
Ïà¹ØÎĵµ£º
ÉÏÆªÎÄÕÂÖÐ˵µ½Ê²Ã´ÊÇ Cache¶ÔÏó£¬ÈçºÎÔÚASP.NETÖÐʹÓà Cache¶ÔÏó¡£ÏÂÃæÎÒÃÇÀ´ËµËµÈçºÎÔÚASP.NETÖÐɾ³ýÏî¡£
ASP.NET Cache ¶ÔÏóÉè¼ÆÓÃÓÚ±£Ö¤Ëü²¢²»Ê¹Óùý¶àµÄ·þÎñÆ÷ÄÚ´æ¡£½á¹ûÊÇ£¬µ±ÓÃÄÚ´æ±äµÃȱ·¦Ê±£¬Cache¶ÔÏó×Ô¶¯É¾³ý×îÉÙ±»Ê¹ÓõÄÏî¡£Äã¿ÉÒÔͨ¹ý¶¨Òåʱ¼äÏÞÖÆ¡¢ÒÀÀµÏî¡¢ÒÔ¼°Ïî
ÔÚCache¶ÔÏóÖеÄÓÅÏȼ¶À´Ó°Ïì Cache¶ÔÏó±£ ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//sqlserverÉí·ÝÑéÖ¤
//string sqlconn = "ser ......
¹ØÓÚʹÓõ½ÁËÁ½¸öC#¹Ø¼ü×ÖthisºÍbase¡£
1£¬C# "this " keyword
Æä×÷ÓÃÒýÓÃÀàµÄµ±Ç°ÊµÀý£¬Æäʵ¿´ÁËÏÂÃæÕâ¸öÀý×ӾͺÃÀí½âÁË¡£
Ö÷ÒªÈý¸ö×÷Ó㺵±Ç°ÊµÀý¡¢²ÎÊý´«µÝºÍË÷ÒýÆ÷
1.1 µ±Ç°ÊµÀý
class Team
{
///³ÉÔ±±äÁ¿
private string name;
///¹¹Ô캯Êý
......
ίÍкÍʼþÔÚ .Net FrameworkÖеÄÓ¦Ó÷dz£¹ã·º£¬È»¶ø£¬½ÏºÃµØÀí½âίÍкÍʼþ¶ÔºÜ¶à½Ó´¥C#ʱ¼ä²»³¤µÄÈËÀ´Ëµ²¢²»ÈÝÒס£ËüÃǾÍÏñÊÇÒ»µÀ¼÷¶ù£¬¹ýÁËÕâ¸ö¼÷µÄÈË£¬¾õµÃÕæÊÇÌ«ÈÝÒ×ÁË£¬¶øÃ»ÓйýÈ¥µÄÈËÿ´Î¼ûµ½Î¯ÍкÍʼþ¾Í¾õµÃÐÄÀï±ð£¨bi裩µÃ»Å£¬»ìÉí²»×ÔÔÚ¡£±¾ÎÄÖУ¬ÎÒ½«Í¨¹ýÁ½¸ö·¶ÀýÓÉdzÈëÉîµØ½²ÊöʲôÊÇίÍС¢ÎªÊ²Ã´ÒªÊ¹Ó ......