1

SignalRチャットのサンプルでは、​​発信者のプロパティはコードを使用して設定されます。

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()は、「タイプ'Task(Of Object)'からタイプ'String'への変換は無効です」というエラーをスローします。

まったく同じコードですが、c#では正常に機能します。

public void SetCaller(){
    Caller.name = "tim";
}

public void GetCaller(){
    string name = Caller.name;
}

私のコードはvb.netで間違っていますか?

4

1 に答える 1

0

いいえ、VB.NETでは構文的に何も悪いことはしていません。頭の中で考えられる唯一のことは、IDEを使用して、CallerのタイプとCaller.nameを確認することです。VB.NETでは、大文字と小文字が区別されず、ファイルの先頭に具体的にリストしなくても多くの名前空間が自動的にインポートされる可能性があるため、VBでは、予想とは異なるタイプを使用している可能性があります。

于 2012-06-14T12:24:47.007 に答える