//反射
class
apublic
void
mytest
(int a)
public
voida1(
)public
voida2(
)}
var input = console.
readline()
;/** 使用反射的機制,拿到例項a的源資料
*/var type =
typeof
(a);
var a =
newa()
;var prop = type.
getproperty
("mylast");
prop.
setvalue
(a,"aaa"
,null);
//獲取方法
//input使用輸入的方式選擇那個方法
var method = type.
getmethod
(input)
; method.
invoke
(a,null);
console.
writeline
(a.mylast)
;
使用程式集反射
inte***ce
imethods
classa:
imethods
public
void
mytest
(int a)
public
voida1(
)public
voida2(
)}
classb:
imethods
public
void
mytest
(int a)
public
voida1(
)public
voida2(
)}
static
void
main
(string
args)
required特性[必須存在]
//實現attribute
//只能修飾屬性
[attributeusage
(attributetargets.property)
]class
myrequired
:system.attribute}}
return
true;}
}
var a =
newa()
;if(myrequired.
myrequiredisnull
(a))
else
[
serializable
]class
apublic
void
mytest
(int a)
}
var a =
newa()
;//.bin 序列化檔案字尾
using
(var stram = file.
open
(typeof
(a).name +
".bin"
, filemode.create)
)//反序列化
using
(var starm = file.
open
(typeof
(a).name +
".bin"
, filemode.open)
)console.
writeline
(a.mylast)
;
public
class
dynamicxml
:dynamicobject
, ienumerable
;}protected
dynamicxml
(xelement element);}
protected
dynamicxml
(ienumerable elements)
public
override
bool
trygetmember
(getmemberbinder binder,
outobject result)
}return
true;}
public
override
bool
trygetindex
(getindexbinder binder,
object
indexes,
outobject result)
public
ienumerator
getenumerator()
}
string xml =
@" 123
";dynamic aa =
newdynamicxml
(xml)
; console.
writeline
(aa.book[0]
.title.value)
;//兩種方式選擇一種即可
foreach
(dynamic b in aa.book)
", b.title.value);}
console.
readline()
;
C 序列化 反序列化
序列化又稱序列化,是.net執行時環境用來支援使用者定義型別的流化的機制。其目的是以某種儲存形成使自定義物件持久化,或者將這種物件從乙個地方傳輸到另乙個地方。net框架提供了兩種序列化的方式 1 是使用binaryformatter進行序列化 2 使用soapformatter進行序列化 3 使用x...
C 程式設計之JSON序列化與反序列化
模型類1 json字串模型.是否出錯 public class errormodel endregion region 建構函式 禁止使用空建構函式 private errormodel 建構函式 錯誤標識,0表示沒有錯誤,1表示有錯誤 public errormodel int error end...
序列化和反序列化 C 序列化與反序列化。
序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...