'declaration' : forward declarations and/or definitions do not have the same attribute 'attribute'
A forward declaration and an actual declaration require that there be no conflicts or inconsistencies in the declaration of attributes.
The following sample generates C3816:
#using <mscorlib.dll> class C1; // try the following line to resolve the error // __gc class C1; __gc class C1{ // C3816, forward declaration does not use __gc }; void main() { }