我的模型中有以下类:
public class Notebook : TableServiceEntity
{
public string NotebookLinksJSON { get; set; }
public string NotebookLinksCount {
get {
var a = NotebookLinksJSON.FromJSONString<Notebook.Link>().Details;
var b = a.Count();
return NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count();
}
}
public class Link
{
public Link() {
_details = new List<Detail>();
}
public IList<Detail> Details {
get { return _details; }
}
private List<Detail> _details = new List<Detail>();
public class Detail
{
public string L { get; set; }
public string R { get; set; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是拥有一个属性NotebookLinksCount,它将返回NotebookLinksJSON字符串中的详细信息.
变量的数据类型如下:
var a = NotebookLinksJSON.FromJSONString<Notebook.Link>().Details;
var b = a.Count();
a is an interface System.Collections.Generic.IList<T>
b is ?? <<< nothing shows when I try to find out what type it is
Run Code Online (Sandbox Code Playgroud)
当我构建时,我收到以下错误:
Error 3 Non-invocable member
'System.Collections.Generic.ICollection<S.Storage.Models.Notebook.Link.Detail>.Count'
cannot be used like a method.
Run Code Online (Sandbox Code Playgroud)
有人可以帮我提一些关于如何获得NotebookLinks数量的建议吗?此外,如果NotebookLinksJSON为null,那么我希望计数返回零.
Count是一个属性.删除()并将其称为:
NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count;
Run Code Online (Sandbox Code Playgroud)
编辑:
在注释中回答@Melissa中的问题:要在NotebookLinksJSON对象为空的情况下使其返回null,您需要进行空检查.
public int NotebookLinksCount {
get {
return (NotebookLinksJSON != null) ?
NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count :
0;
}
}
Run Code Online (Sandbox Code Playgroud)
我建议更改您的NotebookLinksCount属性以返回int.虽然如果你真的需要一个字符串,你可以改变它.
public string NotebookLinksCount {
get {
return (NotebookLinksJSON != null) ?
NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count.ToString() :
"0";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2822 次 |
| 最近记录: |