使用Mono.Cecil解决泛型

时间:2019-02-11 05:02:06

标签: c# reflection mono.cecil

我有一个未知深度类型的层次结构。但是在and处,此层次结构实现了IPlugin<T>IPlugin<T1, T2>接口(来自其他.dll)。如何解决<T>中的<T1, T2>IPlugin泛型?这个通用名的位置在顶级产品上可能是随机的。

示例:

// other .dll
interface IPlugin<T> {}
interface IPlugin<T1, T2> {}

// my code
class PluginBase<T1, T2>: IPlugin<T2, T1> {}
class AnotherClass<T1, T2, T3>: PluginBase<T3, T1> {}
class Plugin: AnotherClass<string, int, char> {}

在此示例中,我期望stringchar类型定义。

Here is an example,但是它使用参数的位置,并且没有遍历层次结构。

1 个答案:

答案 0 :(得分:0)

结果是这样的代码:

df.iloc[np.argsort(df.data.str.split('.').str[0].astype(int))]
Out[141]: 
         data
1   121.i.jpg
2   212.i.jpg
3   512.i.jpg
0  1212.i.jpg