将类转换为接口与将类转换为C#中的另一个类相同吗?在此过程中是否发生了框或拆箱?
interface Area
{
string TxtArea
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
转换为它的界面:
public void Test()
{
ExternArea extArea = new ExternArea();
if(extArea is Area)
{
((Area)extArea).TxtArea = "voila";
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 10
假设ExternArea是一个类而不是一个值类型(struct或enum),那么就没有涉及到拳击.拳击只有不断转换值类型为引用类型实例.
请注意,as通常首选使用:
Area area = extArea as Area;
if (area != null)
{
area.TxtArea = "voila";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |