public class MyAttribute<T> : Attribute { } public class SomeContainingType<T> { [MyAttribute<T>] // Before we could not have had a generic attribute like this public T SomeProperty { get; } }