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·´É䣬¾ÍÊÇÀûÓÃÔªÊý¾Ý£¬¿
Ïà¹ØÎĵµ£º
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//sqlserverÉí·ÝÑéÖ¤
//s ......
1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ£¨int£¬charµÈ£©¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷ËûÃÇ ......
public string WriteXML(string[] values, int flag)
{
//Èç¹ûflag==0ÔòΪµÚÒ»´ÎÔËÐÐÐèÒª³õʼ»¯XMLÎļþ
if (flag == 0)
{
//ÉúÔÚËæ»úÎļþÃû
string dateName = System.DateTime.Now.ToString("yyyyMMddHHmmss");
......
Observer.cs
using System;
using System.Text;
using System.Collections.Generic;
namespace Observer
{
public interface ISubject
{
void RegisterObserver(IOvserver o);
& ......