我正在尝试进行 R# 结构搜索和替换以提供以下内容
foo.ToList()
如果用户选择重构,则应转换为以下内容
foo as List<int> ?? foo.ToList()
所以在 R# 中我会尝试这种模式
$expr$.ToList()
和替换
$expr$ as List<$type$> ?? $expr$.ToList()
$type$
但是我不知道如何分配
typeof($expr$) is IEnumerable<$type$>
从理论上讲,它应该可以工作,因为我可以限制$expr$
为类型IEnumerable<T>
,但我没有$T$
可用作替换令牌。
这有可能吗?