Pull up IChartDetail.

This commit is contained in:
2023-12-19 15:23:40 +08:00
parent 81d458f7de
commit b7f5dbc4da
11 changed files with 59 additions and 20 deletions

View File

@@ -46,12 +46,16 @@ namespace Cryville.Crtr.Browsing.Actions {
}
public IEnumerable<IResourceAction> GetActions(Type type) {
if (type == null) return Enumerable.Empty<IResourceAction>();
List<IResourceAction> actions;
if (!_actions.TryGetValue(type, out actions)) {
actions = new List<IResourceAction>();
}
IEnumerable<IResourceAction> result = actions;
if (type != typeof(object)) result = result.Concat(GetActions(type.BaseType));
if (type != typeof(object))
result = result
.Concat(GetActions(type.BaseType))
.Concat(type.GetInterfaces().SelectMany(i => GetActions(i)));
return result;
}
}