jetbrain rider 可以反编译
原来在 visual studio 看不到的,写在 dll 里面的,接口的实现,经过反编译之后就能看到
这样就不用费心思多开一个阅读源码的 IDE 窗口了
牛
比如现在看到的这个 GetDataRow,输入 id 的话
DataTableManager.cs
public T GetDataRow(Predicate<T> condition)
{
if (condition == null)
throw new GameFrameworkException("Condition is invalid.");
foreach (KeyValuePair<int, T> data in this.m_DataSet)
{
if (condition(data.Value))
return data.Value;
}
return default (T);
}
其中
m_DataSet
是字典
DataTableManager.cs
private readonly Dictionary<int, T> m_DataSet;
在构造函数中初始化
DataTableManager.cs
public DataTable(string name)
: base(name)
{
this.m_DataSet = new Dictionary<int, T>();
在 InternalAddDataRow
中新增
DataTableManager.cs
private void InternalAddDataRow(T dataRow)
{
// ...
this.m_DataSet.Add(dataRow.Id, dataRow);
在 DefaultDataTableHelper 的 ParseData
读取行
Assets/GameFramework/UnityGameFramework-b2d2ef63517d2cab5f0def57e691a2d794b6a7f5/Scripts/Runtime/DataTable/DefaultDataTableHelper.cs
public override bool Pa