我有一个类,其中包含其他对象的内部列表,如下所示:
public class Parent
{
List<Child> _children;
}
Run Code Online (Sandbox Code Playgroud)
孩子说的看起来像这样:
public class Child
{
public string Name;
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是设置父级,其中可以访问_children的成员,如下所示:
...
Child kid = parentInstance["Billy"]; // would find a Child instance
// whose name value is Billy
...
Run Code Online (Sandbox Code Playgroud)
这可能吗?我显然可以这样做:
Child kid = parentInstance.GetChild("Billy");
Run Code Online (Sandbox Code Playgroud)
但我更喜欢数组/字典之类的语法.如果不是这样的话,这不是什么大不了的事,而且我不想为达到语法糖而跳过一百万圈.
您可以为类定义索引属性Parent:
public class Parent
{
List<Child> _children;
public Child this[string name]
{
get
{
return (_children ?? Enumerable.Empty<Child>())
.Where(c => c.Name == name)
.FirstOrDefault();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |