roslyn
roslyn copied to clipboard
Static virtual members of interfaces are not included into completion list on a type parameter
interface I1<T1> where T1 : I1<T1>
{
static abstract void M1();
static virtual void M2() { }
static abstract event System.Action E1;
static virtual event System.Action E2;
static abstract int P1 { get; set; }
static virtual int P2 { get; set; }
}
class Program
{
void Test<T>() where T : I1<T>
{
T.E1 += null;
T.E2 += null;
T.M1();
T.M2();
T.P1++;
T.P2++;
T. // <= Dot complition offers M1, E1, P1, but doesn't offer M2, E2, P2
}
}
CC @sharwell