ProtocolAttribute Class

Definition

Attribute applied to interfaces that represent Objective-C protocols.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface)]
public sealed class ProtocolAttribute : Attribute
type ProtocolAttribute = class
    inherit Attribute
Inheritance
ProtocolAttribute
Attributes

Remarks

Xamarin.iOS will export any interfaces with this attribute as a protocol to Objective-C, and any classes that implement these interfaces will be marked as implementing the corresponding protocol when exported to Objective-C.

// This will create an Objective-C protocol called 'IMyProtocol', with one required member ('requiredMethod')
[Protocol ("IMyProtocol")]
interface IMyProtocol
{
  [Export ("requiredMethod")]
  void RequiredMethod ();
}

// This will export the equivalent of "@interface MyClass : NSObject <IMyProtocol>" to Objective-C.
class MyClass : NSObject, IMyProtocol
{
  void RequiredMethod ()
  {
  }
}

Constructors

ProtocolAttribute()

Properties

FormalSince
IsInformal

Whether the Objective-C protocol is an informal protocol.

Name

The name of the protocol.

WrapperType

The type of a specific managed type that can be used to wrap an instane of this protocol.

Applies to