读书人

as 的用法有关问题

发布时间: 2012-08-13 13:21:53 作者: rapoo

as 的用法问题

GyomuProcessTreeNode 继承于TreeNode
private void trvMenu_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
Cursor.Current = Cursors.WaitCursor;

GyomuProcessTreeNode node = e.Node as GyomuProcessTreeNode;
}


为什么node为空啊

[解决办法]
TreeNodeMouseClickEventArgs类中没有GyomuProcessTreeNode的某些功能,造成e.Node强制转换为GyomuProcessTreeNode类型时发生异常,即无法转换,所以为空
[解决办法]
正如二楼说的,TreeNodeMouseClickEventArgs中的e.Node 是TreeNode类型,在强制转换成子类的时候会失败。
子类可以转换成父类,但是父类是不能转换成子类的
[解决办法]
as是用来父类转子类?

错误。

照这么理解,所有对象都是object对象的子类,那么都可以用as了?
object o = new object();
TreeNode = o as TreeNode(); //这样也可以了?
[解决办法]
不好好学语法,就喜欢记住那些应试的“黑话”,做选择题管用,写程序就不灵了。
[解决办法]
父类转子类
=>

父类型引用转子类型引用,前提是多想是子类型或者继承自子类型。

读书人网 >C#

热点推荐