To do this, you will need an interface restriction:
interface IHazRowKey {
string RowKey { get; }
}
And indicate this restriction:
public class classname<T> where T : IHazRowKey {...}
And indicate : IHazRowKeyfor each of the implementations:
public class Foo : IHazRowKey {....}
RowKey ( , ), . ( , IMO), :
public class Foo : IHazRowKey {
string HazRowKey.RowKey { get { return this.RowKey; } }
...
}