title: Unique Property Attribute value per class
body: <p>Here is my Attribute class:</p>
  
  <pre><code>[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
  public class TagAttribute : Attribute
  {
      public TagAttribute (string tag)
      {
          Tag = tag;
      }
  
      public string Tag { get; set; }
  }
  </code></pre>
  
  <p>The idea is that you create a class and decorate each property with the tag attribute and the tag value. For example: the property Name would have the attribute Tag("UserId")</p>
  
  <p>One of the validations i need to check is that the tag value ("UserId") is unique per class properties. Meaning no other property has a tag with the same value ("UserId")</p>
  
  <p>I'm pretty sure there is a simple way to do this with LINQ but casting must done too and i'd appreciate some help :)</p>
  
  <p>Thanks in advance :)</p>