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 還沒有評估資料。