What are the similarities and differences between Java Annotations and C# Attributes?
I have a Java library I'm considering porting to C#. The Java library makes extensive use of annotations (at both build time and run time.) I've never used C# attributes, but understand that they are the rough equivalent of Java annotations. If I proceed with the port using attributes to replace annotations, what do I need to know? What's going to be the same? Different? What's going to bite me? Control over when your metadata is made accessible is different between the two languages. Java provides the java.lang.annotation.Retention annotation and java.lang.annotation.RetentionPolicy enum to