General issue: Find the annotated type of a C# base interface
- 主要语言
- CodeQL
- 星标
- 10.1k
- 派生
- 2.1k
- 平均合并
- 2 天 15 小时
- 30 天内合并 PR
- 141
描述
I'm trying to get the annotated type of the constructed interface that a class implements in C#.
Consider the following C# program:
```csharp
Console.WriteLine("Hello world!");
interface IService
{
T GetValue();
}
class Service : IService
{
public string? GetValue()
{
return null;
}
}
```
If I run the following query on it, `IService` does not appear in the list of annotated types:
```codeql
import csharp
from AnnotatedType at
where at.getType().fromSource()
select at
```
First, I would like `AnnotatedType` to include constructed interfaces implemented by classes complete with the correct annotations. Second, I would like a way to associate the class with the annotated constructed interface, like:
```codeql
from Class c, AnnotatedConstructedType act
where c.fromSource() and
act.appliesTo(c.getABaseInterface())
select c, act
```
If this functionality already exists, could I please have some pointers on how to use it? If not, could it please be implemented?
贡献指南
评估
这个 Issue 还没有评估数据。