回 帖 发 新 帖 刷新版面

主题:请教,从VB到VB.net转换LSet的问题

我定义了两个结构 
Structure MyISingle
  Dim SData As Single
End Structure
Structure MyInteger
  Dim IData As Integer
End Structure
在转换LSet时出现问题,Data=1时,vb执行 LSet i = s 后,i.IData=1065353216.而vb.net执行时怎样使i.IData也得到同样的值?(LSet 在vb.net中已改变)
Public Function ToInt(Data As Single) As Long
    Dim s As MyISingle
    Dim i As MyInteger
    s.SData = Data
    LSet i = s     
   ......
End Function

回复列表 (共2个回复)

沙发

VB.NET出于安全类型的考虑取消了这两个函数。

通过在结构中实现自定义赋值方法、操作符重载或者显式隐式类型转换来实现安全的类型赋值。

板凳

谢谢! 我已经解决了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册