What I want to do is something like this: I have enums with combined flagged values.
public static class EnumExtension
{
public static bool IsSet
You can achieve this using IL Weaving and ExtraConstraints
Allows you to write this code
public class Sample
{
public void MethodWithDelegateConstraint<[DelegateConstraint] T> ()
{
}
public void MethodWithEnumConstraint<[EnumConstraint] T>()
{
}
}
What gets compiled
public class Sample
{
public void MethodWithDelegateConstraint() where T: Delegate
{
}
public void MethodWithEnumConstraint() where T: struct, Enum
{
}
}