c# - 使用泛型类型的 C# 反向导航
问题描述
我的课程类似于这些:
public class Root<TChild>
{
int ID {get;}
...
List<TChild> Children {get;}
}
public class Child
{
int IDChild {get;}
...
}
我需要在 Child 类中添加反向导航属性以从 Child 访问其 Root,但我不知道如何声明Root<TChild>
类型的属性。
Child 类中的哪种类型应该是 TChild?
解决方案
我在.net fiddle中试过这个,似乎工作得很好
public class Root<TChild>
{
int ID {get;}
List<TChild> Children { get; set; }
}
public class Child
{
int IDChild {get;}
Root<Child> MyRoot { get; set; }
}
// wherever
var root = new Root<Child> { Children = new List<Child>() };
root.Children.Add(new Child { MyRoot = root });
推荐阅读
- javascript - 更新值另一个文件
- r - R - cbind 后的日期格式
- excel - Excel:如何平均 B 列中与 A 列中具有相同数字的所有数字?
- python-3.x - 设置 geopandas 地图的中心
- excel - vba 错误无法设置范围类的隐藏属性 错误 1004
- ios - 等待firebase返回数据xcode
- javascript - 使用 knex 查询返回未定义
- python - 我可以使用 Tkinter 创建 Tcl 交互式 shell 吗?
- excel - VBA代码不会从折线图中的定义范围添加类别
- python - Python多处理:在父进程退出后运行进程