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·´É䣬¾ÍÊÇÀûÓÃÔªÊý¾Ý£¬¿
Ïà¹ØÎĵµ£º
Õª³Ç°±²ÃǵÄ
ÆäʵҪʵÏÖÕâ¸ö¹¦ÄÜÖ÷Òª»¹ÊÇÒªÓõ½javascript
·½·¨Ò»£º
ÔÚasp.netµÄaspxÀïÃæµÄÔ´´úÂëÖÐ
<input type="button onclick="javascript:window.history.go(-1);"value="·µ»ØÉÏÒ»Ò³">
dzÎö£ºÕâ¸öÊÇÓÃÁËHTML¿Ø¼þ£¬Í¨¹ýÒ»¸öonclickµÄʼþ£¬µ÷ÓÃÁËjavascriptÖеÄÒ»¸ö·½·¨¾Í¿ÉÒÔÁË¡£Õâ¸öÊÇ×î¼òµ¥µÄÁË£¬Ò²Í¬Ñù ......
ÓÉÓÚÏîÄ¿ÐèÒª£¬Óõ½ÆäËûÏîÄ¿×éÓÃVC¿ª·¢µÄ×é¼þ£¬ÔÚwebºǫ́´úÂëÎÞ·¨·ÃÎÊÕâ¸ö×é¼þ£¬ËùÒÔÖ»ºÃͨ¹ýºǫ́µ÷ÓÃǰ̨µÄjavascript£¬´Ó¶ø²Ù×÷Õâ¸ö×é¼þ¡£ÔÚÍøÉÏÕÒÁËÕÒ£¬·¢ÏÖÓÐÈýÖÖ·½·¨¿ÉÒÔ·ÃÎʵ½Ç°Ì¨´úÂ룺
µÚÒ»ÖÖ£¬OnClientClick (vs2003²»Ö§³ÖÕâ¸ö·½·¨)
<asp:Button ID="Button1" runat="se ......
Ò»£®ÀàÓë½á¹¹µÄʾÀý±È½Ï£º
½á¹¹Ê¾Àý£º
public struct Person
{
string Name;
int height;
int weight
public bool overWeight()
{
//implement something
}
}
ÀàʾÀý£º
public class TestTime
{
int hours;
int minutes;
int seconds;
public void passtime()
{
//implementation ......
1. ¼òÊö private¡¢ protected¡¢ public¡¢ internal ÐÞÊηûµÄ·ÃÎÊȨÏÞ¡£
´ð . private : ˽ÓгÉÔ±, ÔÚÀàµÄÄÚ²¿²Å¿ÉÒÔ·ÃÎÊ¡£
protected : ±£»¤³ÉÔ±£¬¸ÃÀàÄÚ²¿ºÍ¼Ì³ÐÀàÖпÉÒÔ·ÃÎÊ¡£
public : ¹«¹²³ÉÔ±£¬ÍêÈ«¹«¿ª£¬Ã»ÓзÃÎÊÏÞÖÆ¡£
internal: ÔÚͬһÃüÃû¿Õ¼äÄÚ¿ÉÒÔ·ÃÎÊ¡£
2 .ÁоÙASP.N ......
Observer.cs
using System;
using System.Text;
using System.Collections.Generic;
namespace Observer
{
public interface ISubject
{
void RegisterObserver(IOvserver o);
& ......