Tải bản đầy đủ (.pdf) (10 trang)

Các giải pháp lập trình CSharp- P11 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.63 MB, 10 trang )

101
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
@OP-X'$k&
-X'-9B-X'*+
-q::r9:'^?G:
@OP1''K)c4
 !‹")$$k&
1''\9
*1'+)L&'^H)B'*
:'^?G:D:1':D'D_D
DBmqr-.DDD+
<$k"S"fO !>BHX\&
&,'-*:>BHX\;:+
='*''\&n-*++
&,'-*:k:E+
.
>Q?'"$&
&()-*+
.
.
8.
8.
Truy n d li u gi a các mi n ng d ngề ữ ệ ữ ề ứ ụ
Truy n d li u gi a các mi n ng d ngề ữ ệ ữ ề ứ ụ


#eAJwAOIQJ[J>jL[AB@RALtQHZ]GAh?Y@qZQHeABQ>S@>c]JPZ>lA>B@?cJSJ
O@GA~ABhUAB(


rABJSJd>V[ABQ>~J


SetData
D\
GetData
JbcYEd
AppDomain
(
UKF$'9.:)DD'i&*0
>D$F.:)u')K9
.:)$=)r)D')Ke..:
)
"0.:))'%.-É–˜‘.)Kgdata cacheh:.6!
+>,i-nNI)-É–˜‘.)KI6%.
:)8iQD$ 
HX
$9%*
.:)g;(..^ZhËÉ–˜‘¯.)K'F$O)s)K
K.:)'Ki*. )ee..:)
RM:
X
=I$.F)*#.D$
KFe.)K.:)RM:
nX
=4
$*'*D$Qe.)K49FHI.S.
102
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
.:)0M:
X
'
nX

';-É–˜‘.)K.
:)8%D$)K#$Kqmarshal-by-value'marshal-by-
reference8I4%* 
&(&'[&'[?G
@&iX.g;(..^^&I>.I'D$9.:
)hl*.S%&'O)M:
X

nX
'.
&&H''-
K.:)

&(=
&
-1)='
-1)='*+
>8)$%"0)I0&
H''-9
*H''-+HX&''X&nX*::+
@"“)$&
&H))*:@:+
.
.
X?G
 )1*+
@OPK)c4&
HX)9HX&'X*:@:+
@OPH''- !6/ !&
H''-9BH''-*+

&H))*::+
&H))*::+
&H))*:>:+
gi)$ ! 2"0)I0TK)c4&
)&X*::D+
103
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
@OP-1)=''K)c4
‘"“P)T' 2"0)I0&
)&'^*:_Zk_]:D:-1)=':+
>8O)$ !P)Tƒ&
='*'*H''-+)&nX*::++
&,'-*+
.
>Q?'"$&
&()-*+
.
.
9.
9.
Gi i phóng assembly và mi n ng d ngả ề ứ ụ
Gi i phóng assembly và mi n ng d ngả ề ứ ụ


#eAJwAB@R@d>^ABJSJcff†OFY]>c]JSJO@GA~ABhUABY•JQ>nJQ>@(


3>TABJ^JSJ>A\XLtB@R@d>^ABJSJcff†OFY]H@CABY’(#eAJ^Q>tB@R@d>^AB
QX\AFIOIQO@GA~ABhUABF`ABd>V[ABQ>~JQ„A>
AppDomain.Unload

L€ABQ>o@
DE@D@qJB@R@d>^ABO@GA~ABhUABY\QPQJRJSJcff†OFY]L}LVWJAedD\XO@GA
~ABhUABL^J“ABLVWJB@R@d>^AB(
P)'F.(.&'F.:).FS$
*lI8F..:)?@F4
(.&'S$*Fl<'.*'>N&*s:9BD
G.:)(.&'
wF..:)&5M:q
HX&)
8&*N'
F..I 
HX
I.:)NFL*4
F.:).!i)CLR*Gl*.S)<'%&'O
)M:
)

@OPK)c4&
HXBX9HX&'X*:>BX:+
>O !K)c!&

neƒK)c&
HX&)*BX+
RM: 
)
 !%..:)$Ji0
M:
@')&H'
>%*'.:)'
HI%0M:

)
*'.:)NF%
.%@$C*'=9%FHIF
104
Chng 3: Min ng dng, c ch phn chiu, v siờu d liu
F.:)8*
&)HX?G
@&iX.
&C%=9%F
7.:)$F8CLR0=M:F
D$.:)7e'D$D$&
M:F.9%'F.. F
RM:
HX&^A[A')

'
I.:)$
FCLRS&/NFD$FT$*8
=

10.
10.
Truy xu t thụng tin Type
Truy xu t thụng tin Type


#eAOZKAQ>ZYP]LK@QVWAB
System.Type
OTQROIQs@tZh?Y@qZA>PQLMA>(



ghUABOIQQHXABJSJJSJ>fcZz

XSAQg
typeof

>V[ABQ>~JQA>
GetType
JbcYEd
System.Type

>V[ABQ>~J
GetType
Q>ZIJOIQQ>t>@qAJbcs@tZ

>V[ABQ>~J
GetNestedType
>c]
GetNestedTypes
JbcYEd
Type

>V[ABQ>~J
GetType
>c]
GetTypes
JbcYEd
Assembly

>V[ABQ>~J

GetType

GetTypes
>c]
FindTypes
Jbc YEd
System.Reflection.
Module
lD$
@
..CN.)K&5MI
I"D$
@
X&*.>)K8'
>8*D$UN.90F8NETFramework
MI'.IID$
@

RM9'D$
@
.O)O
=
\
&@L9=*&@G&'F)'+
7>4$!)'XƠàạƠàƠèàầ-đ%&>)iu%
.I$<G&>)i>(.&':'CN
qê(.&'@$>ƠâƠĐ(.&'.f(&*
"O)M:q
@&n@
86.#:>

u%O)#Ji>&*F'sFG=8Ê Ô.C
OII6%&5MIIg;(..^Z]hHI&*Ji
>8&=%.'.(.&'S$*L*?FJ
i.> ƠơãÊƠÊêơăÔ g.NET Framework SDK
M:
@&n@
&II>ƠơãÊƠÊêơăÔhP
%&'O)M:
n@
\
0IkD'e KJC/RQ&
@\9@&n@*:&':+
105
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
ƒ†0IkD
•O0@-)?GJC/RQ&
@Z9@&n@*:&':D'+
w/†0IkD
•O0@-)?GJC/RQ&
@~9@&n@*:&':D'D'+
@6C”•–—˜”™š›˜œ•›•ž˜Ÿ –¡¢£¤&
@`9@&n@*:&X&XD&XD:E
:}'9L&_&`___&_D'9'D
w@C9••``YLaZ~_]a:+
l'D$
@
.4.D$F8S'O)M:
n@
8$=&C
pm

$QI&C)KU<'
.2)\
&@G&'F)'9B&@G&'F)'*+
@Y9&n@*+
L^]F./M:?v';D$
@

Bảng 3.2
Các phương thức trả về đối tượng Type
Phương thức Mô tả
@&n>)@
y'D$
@
 .4.t&>D$
@
F
@&n>)@
y'..D$
@
.4t&>
D$
@
F
H&n@
y'D$ 
@
 .4.$&&>
(.&'
H&n@
y'..D$

@
.4$&
&>(.&'
1)&n@
y'D$ 
@
 .4.$&&>
.)(
1)&n@
y'..D$
@
.4$&
&>.)(
1)&A)@
y'..S$08:D$
@
.4
$&&>.)(E'$0
&5.delegateg;i;(..#
@
F;
.2'4h
106
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
11.
11.
Ki m tra ki u c a m t đ i t ngể ể ủ ộ ố ượ
Ki m tra ki u c a m t đ i t ngể ể ủ ộ ố ượ



#eAOZKAs@tOQHcs@tZJbcOIQLK@QVWAB(


ghUABd>V[ABQ>~JQ>ƒcsj
Object.GetType
LtQ>ZYP]
Type
J>XLK@QVWABA\](
HXABD\@QHVoAB>WdFeAJ“ABJ^Q>tfghUABQXSAQg
is
D\
as
Lts@tOQHcs@tZ
JbcOIQLK@QVWAB(
7)KQIM:
n@
QMC
pm
HS$
6.^Zd8M:'..I
@
.4D
$L=)'%.D$
@
.#$*.I
'eJID$'l'q&*F.I
.9u2))<'%&'..D$F
&^p&'()'
'4\
@OP'()'"30&

pmpm9
B'()'*:@'()':+
w'Gpmƒe!P'()'C/
’$Q !$J@*3)c$3=+&
=*=*&^p&'()'+99pm&n@*++
-!R"ƒ&
•
.
C#O

=.>H8

@
'
ID$N.)3;Q$Jil*.S)<'.;(.
pm
.
&^p&@G()'
8'.)3;Q
@G()'
g
'()'
h\
w'Gpm!@G()'D
)¥GQ%@G()'’$3&
=*pm&^p&@G()'+
-!R"ƒ&
•
.
P'kV)eO

=


S&I
<G&>)i"*Mg6.MhO)M
:
@&n@
..I
@
$Ji7.I
@
4$<I=8'CIv8
X&*'sXG=)=>i.#RM:
^@
)<'@
'
ID$$JiO)M
107
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
:
@&^p=
.D$'F.$J
i'4
^@*mmD'+
@9@&n@*D'D'+
''99m&n@*+{{m&n@*+&^p=*+
.
PDe8&*FO)O

X&…D$$Ji

HID$4&iX$Ji8O

@

l'
X&*=XXgsafecasth8$
<G=U<'.2)\
3)c$3"N0P••C!&
'()'')'9pm&^p&'()'
=*')'y9+
-!R"ƒ&
•
.

>V[ABQ>~JQ„A>
GetUnderlyingType
JbcYEd
System.Enum
J>Xd>•dFeAQ>ZYP]
s@tZ¦¤§£•¨§•JbcOIQs@tZY@qQsC(
12.
12.
T o m t đ i t ng b ng c ch ph n chi uạ ộ ố ượ ằ ơ ế ả ế
T o m t đ i t ng b ng c ch ph n chi uạ ộ ố ượ ằ ơ ế ả ế


#eAJwAQeXOIQLK@QVWABF`ABJ[J>jd>RAJ>@jZ(


>ZYP]LK@QVWAB 

Type
 OTQRs@tZJbcLK@QVWABJwAQeXB•@d>V[ABQ>~J
GetConstructor
JbcA^LtJ^LVWJLK@QVWAB
System.Reflection.ConstructorInfo
OT  QR  d>V[AB  Q>~J  s>‰@  hnAB  JwA  hrAB  fcZ  L^  Q>nJ  Q>@  d>V[AB  Q>~J
ConstructorInfo.Invoke
(
LN>*.D$&5MII'D$
@
.4D$N*g;(..^Zd&I>.IhwF$D$
@
8S'0M:
n''
'D$
''^=
.4.
M:C)='U*:4)M:
n''
6..
@
.DD8D$
''^=
.4
M:C)=6DD$Ji.
@
l'D
$
''^=
.4M:C)=.!ig4FDDh8&*S'

'    M  : 
n''
 .  . 
@
 #  gO  )     q
@&?@
hT  Q  O  ) 

8  I  4 
n''
 @  X.  *  
&H'>?G
HI
n''
4%.'M:C)=
FKBe$DD$Ji%F@


108
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
"4SFD$
''^=
..D8S'0M:
^ C

FL*..:DD.&*.D'M:C
)=RM:
^ C
@*D$...IID$F
g&*Xe$hU<'*.S%&'*.D$

&@G&'F)'
8Ji)&N
'F)'
::
F
@Q"Vf@4'F)'&
@9=*&@G&'F)'+
@O@qr$"Vf@x"VV
TCM)N*Px !PV6+&
@qr'@9B@qr=*&'+D
=*&^Z\+.
@Q"Vf''^=&
''^=^=9&n''*'@+
@Omqr$"VVCM)N&
mqr'}9Bmqr:':DZ_.
@O"Vf !•ƒ KC'F)'&
'F)'9*'F)'+^=&^ C*'}+
P:vI $O)=factory7F8&*O)
MIIFQI.MCs&I'=.
)s&I74 8MC)$O)
yMCQ$@=)&…:v8F.#
=’š‘›¥³@QIMC
w4FMI&5.#’š‘›¥³=M:C
)=KBHI.D gS:&h=’š‘›¥³%
&*J}g)3hKBM:C)=.factory
&*0P4 'O)M:C)=.!i
g4FDDh8F%D$&5M:2u2))<'
@=.factory)e*D$F=)
^



&(=
n)0!Qe$ke0N&
'=^
'X'.
109
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
 )'*+
 )*+
.
-4M'%f!Qe$ke)¥GQ%"†&
'H';^
x/ek&
' ')'9::
@PW)2"Q/ek&
'X'
'')'.
)'9 .
.
w$$! 6T)0^&
' )'*+
' )*+
.
1P0N"e)0^
"#4A'&
;H'
<0N'&
 '') )'*+
&,'-*X'E:;'&&&:+
.

<0N&
 '') )*+
&,'-*X'E:;&&&:+
.
.
A')2"O$"VfT^&
)A'
^'*'D
110
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
'>D')'+
@Q"Vf@k"f‹"&
@9@&n@*>E:D:E+
@Q"Vf''^=&
''^=^=9&n''*@&?@+
@O"Vf !•ƒ KC'F)'&
^9*^+^=&^ C*+
QR^4&
&X'9)'
''
.
.
P<<'@*D$

&5
A'
\
^9A'&'*
:'pm?G:D@6
::D@64k

:H:-/ek
+

Ed 
System.Activator
 JZAB  JPd  >c@  d>V[AB  Q>~J  Q„A> 
CreateInstance
 D\
CreateInstanceFrom
hrABLtQeXJSJLK@QVWABhncQHCALK@QVWAB
Type
>c]J>Zx@
J>~cQCAs@tZ(%†OQ\@Y@qZ(
NET Framework SDK
LtF@jQQ>COJ>@Q@jQ(
13.
13.
T o m t đ c tính tùy bi nạ ộ ặ ế
T o m t đ c tính tùy bi nạ ộ ặ ế


#eAJwAQeXHcOIQL_JQaA>Q>†XŠFeA(


eXOIQYEdhpAvZPQQƒYEdJ[f‰QHƒZQVWAB
System.Attribute
(@qAQ>nJJSJ
d>V[ABQ>~Js>‰@hnABJSJQHVoABD\JSJQ>ZIJQaA>LtJ>Xd>•dABVo@hrAB
JPZ>lA>L_JQaA>(ghUAB
System.AttributeUsageAttribute

LtLMA>AB>„cz

>?ABd>wAQgJ>V[ABQHlA>A\XY\LaJ>JbcL_JQaA>

#eAJ^Q>tSdhUABA>@GZQ>t>@qAJbcL_JQaA>J>XOIQd>wAQgJ>V[AB
QHlA>>c]s>TAB

×