MonoMac 0.0.0.0 System.Attribute System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true) An attribute used to specify that a class adopts a specific Objective-C protocol.

You can use this attribute to decorate NSObject-derived classes to report back to the Objective-C runtime that the class adopts the specified Objective-C protocol.

Unlike C# interfaces, Objective-C protocols have optional components which means that they are not directly mapped to C# constructs. In both the MonoMac and MonoMac bindings protocols are inlined directly into the classes that adopt the protocols which allow developers to invoke any methods adopted by the system classes.

User subclasses use this attribute when they want to explicitly inform the Objective-C runtime that they adopt the protocol. This attribute is looked up by the NSObject.ConformsToProtocol method.

- Constructor
  0.0.0.0
  The name of the protocol you are adopting.
- Property
  0.0.0.0
  System.IntPtr Returns the underlying handle to the Protocol.
- Property
  0.0.0.0
  System.String The name of the protocol type adopted.