如何给自定义的类赋值?具体问题称呼请看代码

不穿内裤的超人 2018-09-01 11:42:46
首先我定义了两个类get_token_hiss里面还有一个基于get_token_date 的date字段
    [DataContract]
public class get_token_hiss
{
[DataMember]
public string response_code { get; set; }
[DataMember]
public string response_message { get; set; }
[DataMember]
public List<get_token_date> date { get; set; }
}
[DataContract]
public class get_token_date
{
[DataMember]
public string access_token { get; set; }
[DataMember]
public string expiry_time { get; set; }
}

第一个问题是,上面的代码get_token_hiss和get_token_date都叫做类?交流中称为“类”没问题吗?
第二个问题是get_token_date 要称为包含在get_token_hiss里面? 还是叫什么?父类?派生类?我对这个概念不是很清晰。

然后我写入数据到类里面
private List<get_token_hiss> getmessage = new List<get_token_hiss>();
private List<get_token_date> getdata = new List<get_token_date>();
MessageBox.Show("正在写入getmessage");
getmessage.Add(new get_token_hiss() { response_code = "200", response_message = "成功" });
MessageBox.Show("正在写入token");
getdata.Add(new get_token_date() { access_token = "sdfjlsdjfhasdlasf", expiry_time = "3600" });
getdata.Add(new get_token_date() { access_token = "uiuelkjerhdl", expiry_time = "7600" });
//最后这句是摘出来的返回结果
return getmessage.FirstOrDefault(n => n.response_code == "200");

我想要的结果是:

{
"response_code": "200",
"response_message": "成功"
"date": [
{
"access_token" = "sdfjlsdjfhasdlasf",
" expiry_time" = "3600"
},
{
"access_token" = "uiuelkjerhdl",
" expiry_time" = "7600"
}
],
}

实际给出的结果是:

{
"date": null,
"response_code": "200",
"response_message": "成功"
}

问题3,如何写入才能得出我想要的结果?我知道单独写入数据到get_token_date的情况没有关联性,应该是不会自动关联数据进去的
就是不清楚要如何写入。
问题4:实际环境中有三层或四层的情况,写入方式会有什么其它变化吗?
问题5:现在的csdn编辑界面太小了,反人类啊,有什么好办法?
...全文
321 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2018-09-02
  • 打赏
  • 举报
回复
派生类是继承关系的子类。你这个叫做类的聚合。
xuzuning 2018-09-01
  • 打赏
  • 举报
回复
第一个问题,交流中称为“类”没问题,但在你的应用中称为类型更妥
第二个问题,get_token_date 含有一个 get_token_hiss 类型的集合,仅此而已,并无其他必然联系。这就是 称为类型更妥 的原因
第三个问题
List<get_token_hiss> getmessage = new List<get_token_hiss>();
List<get_token_date> getdata = new List<get_token_date>();
getdata.Add(new get_token_date() { access_token = "sdfjlsdjfhasdlasf", expiry_time = "3600" });
getdata.Add(new get_token_date() { access_token = "uiuelkjerhdl", expiry_time = "7600" });
getmessage.Add(new get_token_hiss() { response_code = "200", response_message = "成功",date = getdata });
xuzuning 2018-09-01
  • 打赏
  • 举报
回复
问题4 发挥你的聪明才智,不要拘泥于某个模式
问题5 编辑器有滚动条,如何是编辑区域太小呢?
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
问题4 发挥你的聪明才智,不要拘泥于某个模式
问题5 编辑器有滚动条,如何是编辑区域太小呢?

[code=Json]{
"data": [
{
"access_token": "sdfjlsdjfhasdlasf",
"expiry_time": "3600"
},
{
"access_token": "uiuelkjerhdl",
"expiry_time": "7600"
}
],
"response_code": "200",
"response_message": "成功"
}
[/code]
现在出来是这样,和我定义的顺序不太一样,我的data是在最下面,有什么影响吗?返回值是json
我是return getmessage.FirstOrDefault(n => n.response_code == "200");
这句从网上抄来的,有其它的更好的返回方式吗?
番茄爱上蛋 2018-09-01
  • 打赏
  • 举报
回复
楼上正解,问题3问题4我觉得了解了类型实例化应该更好理解一点。
通过本课程学习您可以学习到Dart语言如下知识:第1章 Dart语言概述:Dart语言简介、Dart语言支持平台开发、Flutter为什么选择Dart语言。第2章 开发环境搭建:下载Dart SDK、Windows下安装Dart SDK、macOS下安装Dart SDK、Visual Studio Code开发工具、IntelliJ IDEA开发工具。第3章 完成个Dart程序:动动手写一个HelloWorld、Dart源代码文件组织结构、Visual Studio Code调试Dart代码、IntelliJ IDEA调试Dart代码。第4章 Dart语法基础:标识符、关键字、变量、常量、注释、库。第5章 Dart数据型:数值型、字符串、数据型相互转换、布尔型和枚举型第6章 运算符:算术运算符、算术赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、型检查运算符。第7章 控制语句:分支语句、循环语句、跳转语句。第8章 函数:函数声明、可选参数、头等函数(first-class function)、匿名函数。第9章 声明、getter和setter访问器、构造函数、静态变量和静态方法、级联符号。第10章 继承与多态:Dart中的继承实现、调用父构造函数、成员变量的覆盖(Override)、方法的覆盖(Override)、多态、混入(Mixins)。第11章 抽象与接口:抽象、接口、Dart中隐式接口、实现接口。第12章 数据容器:List容器、Set容器、Map容器、泛型。第13章 异常处理:捕获异常、try-on捕获异常、try-catch捕获异常、try-on-catch捕获异常、使用finally代码块、手动抛出异常、自定义异常。第14章 异步编程:Dart异步处理机制、案例:同步函数实现读取文件、案例:异步函数实现读取文件、Future对象。  

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧