请教关于强制转换的问题!

tannybee 2005-07-12 10:21:09
使用object类型可以强制转换成自定义的某一个结构类型吗?

eg:

namespace app
{
public struct st1
{
int aa;
int bb;
}

public class cl1
{
public void func1(ref object ob)
{
((st1)ob).aa=1; //生成的时候出现:error CS0131: 赋值号左边必须是变量、属性或索引器
((st1)ob).bb=2; //生成的时候出现:error CS0131: 赋值号左边必须是变量、属性或索引器
}
}
}

请问有什么方法可以使用象C/C++里面的VOID类型呢?
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
silverseven7 2005-07-12
  • 打赏
  • 举报
回复
public void func1(ref object ob)
{
st1 temp=(st1)ob;
temp.aa=1;
temp.bb=2;
}

public void func1(ref object ob)
{
st1 temp=(st1)ob;
temp.aa=1;
temp.bb=2;
}

public void func1(ref object ob)
{
st1 temp=(st1)ob;
temp.aa=1;
temp.bb=2;
}

俞庆平 2005-07-12
  • 打赏
  • 举报
回复
不存在void类型,C#中是单根继承的。

下面是安全类型转换的两种方式:
stl obj = ob as stl;
if(obj != null)
{
obj.aa =1;obj.bb=2;
}

if(ob is stl)
{
stl obj = ob as stl;//或stl obj = (stl)ob;
obj.aa =1; obj.bb =2;
}
zhiang75 2005-07-12
  • 打赏
  • 举报
回复
C#的语法严谨,请这样使用强制转化
public void func1(ref object ob)
{
st1 temp=(st1)ob;
temp.aa=1;
temp.bb=2;
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧