在SignalR Chat sample中,使用代码设置来电者属性;
Caller.name = newUser.Name;
稍后,读取此属性;
string name = Caller.name;
我有自己的SignalR项目,但是这个是vb.net,当我做相同的设置并获得Caller属性时,它不起作用
Public Sub SetCaller()
Caller.name = "tim"
End Sub
Public Sub GetCaller()
Dim name as string = Caller.name
End Sub
GetCaller()抛出错误“从类型转换'任务(Of Object)'到类型'String'无效。”
完全相同的代码,但在c#中工作正常;
public void SetCaller(){
Caller.name = "tim";
}
public void GetCaller(){
string name = Caller.name;
}
我的代码在vb.net中是否有错?
答案 0 :(得分:0)
不,你在VB.NET中没有做任何语法错误的事情。我能想到的唯一一件事就是使用IDE检查Caller是什么类型和Caller.name。在VB.NET中,它不区分大小写,并且可以自动导入许多名称空间,而无需在文件顶部将它们专门列出,因此很可能在VB中,它使用的是与您期望的类型不同的类型。