title: Is it possible to have a delegate as attribute parameter?
body: <p>Is it possible to have a delegate as the parameter of an attribute?</p>
  
  <p>Like this:</p>
  
  <pre><code>public delegate IPropertySet ConnectionPropertiesDelegate();
  
  public static class TestDelegate
  {
      public static IPropertySet GetConnection()
      {
          return new PropertySetClass();
      }
  }
  
  [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface,AllowMultiple=false,Inherited=true)]
  public class WorkspaceAttribute : Attribute
  {
      public ConnectionPropertiesDelegate ConnectionDelegate { get; set; }
  
      public WorkspaceAttribute(ConnectionPropertiesDelegate connectionDelegate)
      {
          ConnectionDelegate = connectionDelegate;
      }
  }
  
  [Workspace(TestDelegate.GetConnection)]
  public class Test
  {
  }
  </code></pre>
  
  <p>And if its not possible, what are the sensible alternatives?</p>