我正在尝试通过扩展类向WebSockets添加字段。我在编译时没有收到错误,但是当我尝试分配该字段时,出现“没有这样的方法:myCustomString”错误。下面的代码段。任何帮助表示赞赏。

class WebSocketConnection2 extends WebSocketConnection {
  String myCustomString = "";
}

...用法

wsHandler.onOpen = (WebSocketConnection2 conn) {
conn.onMessage = (data) {
  var event = data['aString'];
  switch (event) {
    case 'someCase':
      conn.myCustomString = nName; // This line throw the error.
      ...
      break;
  }
};

最佳答案

这是因为wsHandler的实现类正在传递WebSocketConnection实例。它不知道您的WebSocketConnection2类。

您需要提供自己的wsHandler实现才能使用WebSocketConnection2类。

注意:尽管您指定了wsHandler.onOpen = (WebSocketConnection2 conn) {,但dart将此解释为wsHandler.onOpen = (conn) {-这是可选的实际输入方式。

关于websocket - Dart扩展WebSocket,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14463491/

10-09 03:27