首页 新闻 会员 周边

C# 接受得值转换为list

0
悬赏园豆:10 [已解决问题] 解决于 2020-11-30 16:00

不可调用得成员"List<T>"不能像方法一样使用

这个昵称挺好的的主页 这个昵称挺好的 | 初学一级 | 园豆:192
提问于:2020-11-30 14:53
< >
分享
最佳答案
0
List<AgvLoginModel> request = List<AgvLoginModel>(requestInfo.Body);

??? 你的 new
强制类型转换也得加小括号吧??

收获园豆:8
拓拓 | 小虾三级 |园豆:1050 | 2020-11-30 15:33

List<AgvLoginModel> request =new List<AgvLoginModel>(Convert.ToInt32(requestInfo.Body)); 是这样么?

这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:40

这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:42

@在来六石: 强制转换是

List<AgvLoginModel> request = (List<AgvLoginModel>)requestInfo.Body;

如果 requestInfo.Body 实现了IEnumerable 接口, 也可以写

var request = requestInfo.Body.ToList();
拓拓 | 园豆:1050 (小虾三级) | 2020-11-30 15:45

@拓拓:
下面有出现这样得错误

这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:52

@在来六石: 你的requestInfo.BodyIEnumerable<byte>类型,看起来是一种二进制协议
如果要转换成List<AgvLoginModel>类型,需要反序列化或者其他的解析方法,重新构造AgvLoginModel

拓拓 | 园豆:1050 (小虾三级) | 2020-11-30 15:53

@拓拓: 求大神指导

这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:53

@在来六石: 这还怎么指导,你这是服务端对吧,你跟客户端是怎么协商的,换句话说,这一串byte到底是什么东西,只有你们知道,如果你不知道,你去问知道的人

拓拓 | 园豆:1050 (小虾三级) | 2020-11-30 15:57

@拓拓: 好的 明白

这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 16:00
其他回答(1)
0

没看懂这个问题

收获园豆:2
华临天下 | 园豆:1501 (小虾三级) | 2020-11-30 14:55

public override void ExecuteCommand(AgvSession session, SpecialHeaderRequestInfo requestInfo)
{

        List<AgvLoginModel> request = List<AgvLoginModel>(requestInfo.Body);

        //var request = JsonHelp.Deserialize<AgvLoginModel>(requestInfo.Body);
        var manager = BusinessManager.Instance
            .Resolve<EquipmentManage>((int)EnumManageType.EquipmentManage);

        BaseEquipment equipment;
        
        if (manager.AgvTryLogin(request, out equipment))
        {
            session.Register(equipment);

            ConsoleHelp.Info(Name, request, "OK");
        }
        else
        {
            ConsoleHelp.Error(Name, request, "Failed");
        }
    }
支持(0) 反对(0) 这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 14:57

@在来六石: List<AgvLoginModel> request = List<AgvLoginModel>(requestInfo.Body);

然后是这个代码没用?缺少引用System.Collections.Generic这个?

支持(0) 反对(0) 华临天下 | 园豆:1501 (小虾三级) | 2020-11-30 14:59

@华临天下: 引用也没用

支持(0) 反对(0) 这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:04

@在来六石:

上面是不是这个反序列化写的有问题啊 

 var request = JsonHelp.Deserialize<List<AgvLoginModel>(>(requestInfo.Body);

支持(0) 反对(0) 华临天下 | 园豆:1501 (小虾三级) | 2020-11-30 15:14

@华临天下:不是 我是想让它转换为List<AgvLoginModel> request
可是List<AgvLoginModel>(requestInfo.Body);
这个转换不过来 转不成list类型得

支持(0) 反对(0) 这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:18

@在来六石: JsonHelp是不是有问题啊,试试Newtonsoft这个

支持(0) 反对(0) 华临天下 | 园豆:1501 (小虾三级) | 2020-11-30 15:20

@华临天下: 现在不使用JsonHeip自己转

支持(0) 反对(0) 这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:23

支持(0) 反对(0) 这个昵称挺好的 | 园豆:192 (初学一级) | 2020-11-30 15:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册