使用Sourcery,对于a TypeName
,可以通过属性查询类型是否为通用,isGeneric
也可以查看generic
属性获取generic.typeParameters
数组。请参阅类型名称文档
但是,我不知道如何为方法做同样的事情。我有这样的方法:
func doSomething<T: MyType>(input: T) -> T
当我生成一个存根类时,我需要知道返回类型T
, 代表一个泛型类型。我可以查询isGeneric
(Method
正确返回true
),但是没有generic
可以识别的属性T
,所以我知道该方法是通用的并没有真正帮助我 - 因为这并不一定意味着返回类型是通用的. 请参阅方法文档
此外,查询方法的isGeneric
属性returnTypeName
返回false
,所以这种方法也不起作用。