In my base class I have a generic method (ideally this would be a property, but you can't have generic properties) and a non-generic property, both with the same name:

```
protected static T CurrentUserId<T>()
{
    ...
}

protected static string CurrentUserId
{
    get
    {
        ...
    }
}

```

However, when I come to use either of them intellisense reports ambiguity between them. Surely, `base.CurrentUserId` (without parethesese) provides enough clues to the compiler that I want to invoke the non-generic property?

Does anyone know why the compiler struggles with this? Thanks in advance.