+ /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+ /// public class ComponentAttribute : Attribute
+ /// {}
+ ///
+ /// [Component] // ComponentAttribute requires implementing IComponent interface
+ /// public class MyComponent : IComponent
+ /// {}
+ ///
+ /// Function definition table syntax:
+ /// ("o", o);
+ /// }
+ /// ]]>
+ /// In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
+ /// or property setters:
+ ///
+ ///
+ /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+ /// public class ComponentAttribute : Attribute
+ /// {}
+ ///
+ /// [Component] // ComponentAttribute requires implementing IComponent interface
+ /// public class MyComponent : IComponent
+ /// {}
+ ///
+ /// Function definition table syntax:
+ /// ("o", o);
+ /// }
+ /// ]]>
+ /// In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
+ /// or property setters:
+ ///
+ ///