Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
3956 lines (3860 sloc) 199 KB
<Type Name="NSObject" FullName="Foundation.NSObject">
<TypeSignature Language="C#" Value="public class NSObject : Foundation.INSObjectProtocol, IDisposable, IEquatable&lt;Foundation.NSObject&gt;" />
<TypeSignature Language="ILAsm" Value=".class public sequential ansi beforefieldinit NSObject extends System.Object implements class Foundation.INSObjectProtocol, class ObjCRuntime.INativeObject, class System.IDisposable, class System.IEquatable`1&lt;class Foundation.NSObject&gt;" />
<TypeSignature Language="DocId" Value="T:Foundation.NSObject" />
<TypeSignature Language="F#" Value="type NSObject = class&#xA; interface IEquatable&lt;NSObject&gt;&#xA; interface INativeObject&#xA; interface IDisposable&#xA; interface INSObjectProtocol" />
<AssemblyInfo>
<AssemblyName>Xamarin.iOS</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Foundation.INSObjectProtocol</InterfaceName>
</Interface>
<Interface>
<InterfaceName>ObjCRuntime.INativeObject</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IEquatable&lt;Foundation.NSObject&gt;</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName>Foundation.Register("NSObject", true)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Base class for all bound objects that map to Objective-C objects.</summary>
<remarks>
<para>
This is the base class that is used to bind Objective-C classes
to C# classes. Merely subclassing from NSObject will produce a
class that can be passed to Objective-C.
</para>
<para>
The C# NSObject class and their subclasses are managed
representations of the underlying Objective-C instances. The
pointer to the unmanaged code Objective-C object is stored in
the <see cref="P:Foundation.NSObject.Handle" />
property.
</para>
<para>
It is important to note that currently, the compiler does not
support generic subclasses of NSObject.
</para>
<format type="text/html">
<h2>Class Registration</h2>
</format>
<para>
When you create a subclass of NSObject this subclass is
registered with the Objective-C runtime with a name based on
the full .NET typename which is an implementation detail. If
you need to ensure that a C# class is exposed with a specific
name in the Objective-C runtime, you can apply the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.RegisterAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.RegisterAttribute">T:ObjCRuntime.RegisterAttribute</a></format> to the
class and specify the name that you want your class to have.
</para>
<para>
The above is typically used in cases where either you want to
reference the class by name on some Objective-C code, when
using Interface Builder XIB and Storyboard files or when you
are using an Objective-C serialization setup (for example when
using <see cref="T:Foundation.NSCoder" />).
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
//
// This exposes the C# class _MySampleView as the Objective-C MyView
//
[Export ("MyView")]
public class _MySampleView : UIView {
}
]]></code>
</example>
<format type="text/html">
<h2>Objective-C Methods</h2>
</format>
<para>
In general, MonoTouch classes map one to one to the underlying
Objective-C classes. For example, the C# class
"MonoTouch.Foundation.NSObject" maps to the Objective-C
"NSObject" class. But methods are different. The Objective-C
methods do not translate well to C# methods, so they have been
in general been altered to match both the C# language, the C#
idioms and the .NET Framework Design Guidelines.
</para>
<para>
Objective-C methods are surfaced to C# as virtual methods that
have the special <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.ExportAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.ExportAttribute">T:ObjCRuntime.ExportAttribute</a></format> applied to
them. This attribute is used by the compiler to map C# names
to Objective-C names. These attributes are shown in the API
documentation on top of each function, to help you identify
which Objective-C method a particular C# method is calling.
</para>
<para>
To alter the behavior of a class you use the standard C#
idioms: create a subclass and override the methods that you
want to alter and use the "base." language feature to
optionally call into your base class.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
public class MyView : UISlider {
public override void Draw (RectangleF rect)
{
// Let the base class draw first
base.Draw (rect);
// Our custom code
var ctx = UIGraphics.GetCurrentContext ();
UIColor.Gray.SetColor ();
ctx.StrokeEllipseInRect (rect);
}
}
]]></code>
</example>
<para>
By default, only methods that have been overwritten will be
exposed to the Objective-C world. If you want to expose an
arbitrary C# method to the Objective-C world, you need to
apply the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.ExportAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.ExportAttribute">T:ObjCRuntime.ExportAttribute</a></format> to your
public method. And this can be done to both static and
instance methods. Once the attribute is applied, the method
will be exposed to Objective-C and the standard data type
marshalling operations that are supported by the runtime are
made available to those methods.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
//
// Exposes the class StringUtilities to Objective-C with the
// method:
// - (NSString *) joinArray:(NSArray *) stringArray withSeparator:(NSString *sep);
//
// Used like this:
// id utilities = [[StringUtilities alloc] init];
// NSLog (@"Joined: %@", [utilities joinArray:users withSeparator:@", "]);
//
public class StringUtilities : NSObject {
[Export ("joinArray:withSeparator:")]
public string Join (string [] array, string separator)
{
return string.Join (separator, array);
}
}
]]></code>
</example>
<format type="text/html">
<h2>Lifecycle</h2>
</format>
<para>
The C# NSObject and their subclasses are managed wrappers for
the underlying Objective-C object. These are created either
from C#, when you create a new instance by using the "new"
operator or when an existing unmanaged object is surfaced to the C# world.
</para>
<para>
When you create an object from C# using the "new" operator,
the object will initially be owned by C#, and C# will retain a
reference to the object. This reference will only be dropped
when the garbage collector determines that there are no
pending managed references to it, or when you manually call
the Dispose method on the object.
</para>
<para>
C# NSObjects are also created on demand when you invoke a
method or a property that returns an NSObject. At this point,
the runtime will look into an object cache and determine
whether a given Objective-C NSObject has already been surfaced
to the managed world or not. If the object has been surfaced,
the existing object will be returned, otherwise a constructor
that takes an IntPtr as a parameter is invoked to construct
the object.
</para>
<para>
Pure "peers" to framework objects (those objects
that are merely C# representations of an Objective-C object
and have no extra managed associated state) can be recreated
by the runtime on demand by using the constructor mentioned before.
</para>
<para>
User-subclasses of NSObjects often contain C# state so
whenever the Objective-C runtime performs a "retain" operation
on one of these objects, the runtime creates a GCHandle that
keeps the managed object alive, even if there are no C#
visible references to the object. This simplifies bookeeping
a lot, since the state will be preserved automatically for
you.
</para>
<para>
The Dispose operation on an NSObject will always drop the
reference to the underlying Objective-C object, but will not
destroy the managed state, this will only happen when both the
managed code and the unmanaged code have both released the
objects. This is slightly different from .NET, because on
.NET once an object is disposed, it is not possible to invoke
any methods on the object, as it is deemed to be useless. That is not the case with NSObjects.
</para>
<format type="text/html">
<h2>Adopting Protocols</h2>
</format>
<para>
In MonoTouch, most Objective-C protocols are mapped to classes
that have the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.ModelAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.ModelAttribute">T:ObjCRuntime.ModelAttribute</a></format> applied to
them. And the way that you adopt a protocol is by subclassing
and overwriting the methods that you want to adopt.
</para>
<para>
There are some rare cases, where you want to adopt an ad-hoc
protocol on your own. If you need to adopt an Objective-C
protocol, you should use the <see cref="T:ObjCRuntime.AdoptsAttribute" /> on your class
and provide the name of the protocol that you want to adopt.
Typically, when adopting a protocol, you will also have to
list all of the Objective-C selectors that you are adopting
using the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.ExportAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.ExportAttribute">T:ObjCRuntime.ExportAttribute</a></format>.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Adopts ("NSLocking")]
public class MyLockeingObject : NSObject {
[Export ("lock")]
public void Lock ()
{
// ...
}
[Export ("unlock")]
public void Unlock ()
{
// ...
}
}
]]></code>
</example>
<format type="text/html">
<h2>Key Value Coding</h2>
</format>
<para>
Key Value coding is a mechanism that allows you to access
properties of an object by their name, as opposed to accessing
them directly with a C# method.
</para>
<para>
To expose a C# property to the Key-Value coding system all you
need to do is add the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:ObjCRuntime.ExportAttribute&amp;scope=Xamarin" title="T:ObjCRuntime.ExportAttribute">T:ObjCRuntime.ExportAttribute</a></format> to your
property. The names must only contain ASCII characters, start
with a lowercase letter, and must not contain any spaces.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
public class CircleLayer : CALayer {
[Export ("radius")]
public double Radius { get; set; }
// ...
}
]]></code>
</example>
<para>
You use the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=M:Foundation.ValueForKey(Foundation.NSString);*&amp;scope=Xamarin" title="M:Foundation.ValueForKey(Foundation.NSString);*">M:Foundation.ValueForKey(Foundation.NSString);*</a></format>
methods to lookup a property using a name, and you use the of
functions <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=M:Foundation.ValueForKey(Foundation.NSObject,Foundation.NSString);*&amp;scope=Xamarin" title="M:Foundation.SetValueForKey(Foundation.NSObject,&#xA; Foundation.NSString)">M:Foundation.SetValueForKey(Foundation.NSObject,
Foundation.NSString);*"</a></format> methods to set the value for the
specified property. For example, you could call
foo.ValueForKey ("user") to grab the value of the user
property in an object.
</para>
<para>
In addition, you can use Key Paths to have the runtime
repeatedly call the ValueForKey or SetValueForKey for you.
You separate the keys by using a dot. For example the keypath
"user.address.phone.mobile" would request the user property,
and then request the address property on the user, then it
would request the phone property on the address and finally
request the mobile property on the phone and finally use the
result as the value. You use the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=M:Foundation.ValueForKeyPath(Foundation.NSString);*&amp;scope=Xamarin" title="M:Foundation.ValueForKeyPath(Foundation.NSString);*">M:Foundation.ValueForKeyPath(Foundation.NSString);*</a></format> to lookup a property using
a keypath, and you use the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=M:Foundation.SetValueForKeyPath(Foundation.NSObject, Foundation.NSString);*&amp;scope=Xamarin" title="M:Foundation.SetValueForKeyPath(Foundation.NSObject, Foundation.NSString);*">M:Foundation.SetValueForKeyPath(Foundation.NSObject, Foundation.NSString);*</a></format> to set a value using a
keypath.
</para>
<para> When using keypaths, if a lookup fails, the <see cref="M:Foundation.NSObject.SetValueForUndefinedKey(Foundation.NSObject,Foundation.NSString)" />
will be invoked when setting a value, and the <see cref="M:Foundation.NSObject.ValueForUndefinedKey(Foundation.NSString)" />
will be invoked when looking up a value. Both methods by
default raise an Objective-C exception, you can alter that behavior by overriding the methods.
</para>
<format type="text/html">
<h2>Key Value Observing</h2>
</format>
<para>
Key value observing is a mechanism implemented by NSObject
that can be used to monitor changes being done to an NSObject
through the Key Value Coding system.
</para>
<para>
For your class to observe a notification, you must override
the <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" />
method which will be invoked with the information about the value changes for a specific keypath. Then you use the <see cref="M:Foundation.NSObject.AddObserver(Foundation.NSObject,Foundation.NSString,Foundation.NSKeyValueObservingOptions,System.IntPtr)" /> to start observing changes and the <see cref="M:Foundation.NSObject.RemoveObserver(Foundation.NSObject,Foundation.NSString,System.IntPtr)" /> method to stop receiving notifications.
</para>
</remarks>
<related type="externalDocumentation" href="https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/index.html">Apple documentation for <c>NSObject</c></related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public NSObject ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.#ctor" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("init")</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Default constructor that initializes a new instance of this class with no parameters.</summary>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public NSObject (Foundation.NSObjectFlag x);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Foundation.NSObjectFlag x) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.#ctor(Foundation.NSObjectFlag)" />
<MemberSignature Language="F#" Value="new Foundation.NSObject : Foundation.NSObjectFlag -&gt; Foundation.NSObject" Usage="new Foundation.NSObject x" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="x" Type="Foundation.NSObjectFlag" />
</Parameters>
<Docs>
<param name="x">Unused sentinel value, pass NSObjectFlag.Empty.</param>
<summary>Constructor to call on derived classes to skip initialization and merely allocate the object.</summary>
<remarks>
<para>This constructor should be called by derived classes when they completely construct the object in managed code and merely want the runtime to allocate and initialize the NSObject. This is required to implement the two-step initialization process that Objective-C uses, the first step is to perform the object allocation, the second step is to initialize the object. When developers invoke the constructor that takes the NSObjectFlag.Empty they take advantage of a direct path that goes all the way up to NSObject to merely allocate the object's memory and bind the Objective-C and C# objects together. The actual initialization of the object is up to the developer.</para>
<para>This constructor is typically used by the binding generator to allocate the object, but prevent the actual initialization to take place. Once the allocation has taken place, the constructor has to initialize the object. With constructors generated by the binding generator this means that it manually invokes one of the "init" methods to initialize the object.</para>
<para>It is the developer's responsibility to completely initialize the object if they chain up using the NSObjectFlag.Empty path.</para>
<para>In general, if the developer's constructor invokes the NSObjectFlag.Empty base implementation, then it should be calling an Objective-C init method. If this is not the case, developers should instead chain to the proper constructor in their class. </para>
<para>The argument value is ignored and merely ensures that the only code that is executed is the construction phase is the basic NSObject allocation and runtime type registration. Typically the chaining would look like this:</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
var initWithFrame = new Selector ("initWithFrame:").Handle;
if (IsDirectBinding)
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
else
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}
]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public NSObject (IntPtr handle);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.#ctor(System.IntPtr)" />
<MemberSignature Language="F#" Value="new Foundation.NSObject : nativeint -&gt; Foundation.NSObject" Usage="new Foundation.NSObject handle" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="handle" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="handle">Pointer (handle) to the unmanaged object.</param>
<summary>A constructor used when creating managed representations of unmanaged objects; Called by the runtime.</summary>
<remarks>
<para>This constructor is invoked by the runtime infrastructure (<see cref="M:ObjCRuntime.Runtime.GetNSObject(System.IntPtr)" />) to create a new managed representation for a pointer to an unmanaged Objective-C object. Developers should not invoke this method directly, instead they should call the GetNSObject method as it will prevent two instances of a managed object to point to the same native object.</para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public NSObject (IntPtr handle, bool alloced);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle, bool alloced) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.#ctor(System.IntPtr,System.Boolean)" />
<MemberSignature Language="F#" Value="new Foundation.NSObject : nativeint * bool -&gt; Foundation.NSObject" Usage="new Foundation.NSObject (handle, alloced)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="handle" Type="System.IntPtr" />
<Parameter Name="alloced" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="handle">Pointer (handle) to the unmanaged object.</param>
<param name="alloced">Whether this object was allocated by managed code.</param>
<summary>A constructor used when creating managed representations of unmanaged objects; Called by the runtime.</summary>
<remarks>
<para>This constructor is invoked by the runtime infrastructure (<see cref="M:ObjCRuntime.Runtime.GetNSObject(System.IntPtr)" />) to create a new managed representation for a pointer to an unmanaged Objective-C object. Developers should not invoke this method directly, instead they should call the GetNSObject method as it will prevent two instances of a managed object to point to the same native object.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="AddObserver">
<MemberSignature Language="C#" Value="public IDisposable AddObserver (Foundation.NSString key, Foundation.NSKeyValueObservingOptions options, Action&lt;Foundation.NSObservedChange&gt; observer);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IDisposable AddObserver(class Foundation.NSString key, valuetype Foundation.NSKeyValueObservingOptions options, class System.Action`1&lt;class Foundation.NSObservedChange&gt; observer) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AddObserver(Foundation.NSString,Foundation.NSKeyValueObservingOptions,System.Action{Foundation.NSObservedChange})" />
<MemberSignature Language="F#" Value="member this.AddObserver : Foundation.NSString * Foundation.NSKeyValueObservingOptions * Action&lt;Foundation.NSObservedChange&gt; -&gt; IDisposable" Usage="nSObject.AddObserver (key, options, observer)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IDisposable</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="Foundation.NSString" />
<Parameter Name="options" Type="Foundation.NSKeyValueObservingOptions" />
<Parameter Name="observer" Type="System.Action&lt;Foundation.NSObservedChange&gt;" />
</Parameters>
<Docs>
<param name="key">
Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.
</param>
<param name="options">
Flags indicating which notifications you are interested in receiving (New, Old, Initial, Prior).
</param>
<param name="observer">
Method that will receive the observed changes.   It will receive a <see cref="T:Foundation.NSObservedChange" /> parameter with the information that was changed.
</param>
<summary>Registers an object for being observed externally using an arbitrary method.</summary>
<returns>
An IDisposable object.  Invoke the Dispose method on this object to remove the observer.
</returns>
<remarks>
<para>When the object is registered for observation, changes to the object specified in the keyPath that match the flags requested in options will be sent to the specied method (a lambda or method that matches the signature).</para>
<para>This version provides the convenience of exposing the changes as part of the strongly typed <see cref="T:Foundation.NSObservedChange" /> object that is received by the target.</para>
<para>
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[void Setup ()
{
AddObserver (rateKey, NSKeyValueObservingOptions.Old | NSKeyValueObservingOptions.New, (observed) => {
Console.WriteLine ("Change: {0}", observed.Change);
Console.WriteLine ("NewValue: {0}", observed.NewValue);
Console.WriteLine ("OldValue: {0}", observed.OldValue);
Console.WriteLine ("Indexes: {0}", observed.Indexes);
Console.WriteLine ("IsPrior: {0}", observed.IsPrior);
});
}]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="AddObserver">
<MemberSignature Language="C#" Value="public IDisposable AddObserver (string key, Foundation.NSKeyValueObservingOptions options, Action&lt;Foundation.NSObservedChange&gt; observer);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IDisposable AddObserver(string key, valuetype Foundation.NSKeyValueObservingOptions options, class System.Action`1&lt;class Foundation.NSObservedChange&gt; observer) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AddObserver(System.String,Foundation.NSKeyValueObservingOptions,System.Action{Foundation.NSObservedChange})" />
<MemberSignature Language="F#" Value="member this.AddObserver : string * Foundation.NSKeyValueObservingOptions * Action&lt;Foundation.NSObservedChange&gt; -&gt; IDisposable" Usage="nSObject.AddObserver (key, options, observer)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IDisposable</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" />
<Parameter Name="options" Type="Foundation.NSKeyValueObservingOptions" />
<Parameter Name="observer" Type="System.Action&lt;Foundation.NSObservedChange&gt;" />
</Parameters>
<Docs>
<param name="key">
Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.
</param>
<param name="options">
Flags indicating which notifications you are interested in receiving (New, Old, Initial, Prior).
</param>
<param name="observer">
Method that will receive the observed changes.   It will receive a <see cref="T:Foundation.NSObservedChange" /> parameter with the information that was changed.
</param>
<summary>Registers an object for being observed externally using an arbitrary method.</summary>
<returns>
An IDisposable object.  Invoke the Dispose method on this object to remove the observer.
</returns>
<remarks>
<para>When the object is registered for observation, changes to the object specified in the keyPath that match the flags requested in options will be sent to the specied method (a lambda or method that matches the signature).</para>
<para>This version provides the convenience of exposing the changes as part of the strongly typed <see cref="T:Foundation.NSObservedChange" /> object that is received by the target.</para>
<para>
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[void Setup ()
{
AddObserver (rateKey, NSKeyValueObservingOptions.Old | NSKeyValueObservingOptions.New, (observed) => {
Console.WriteLine ("Change: {0}", observed.Change);
Console.WriteLine ("NewValue: {0}", observed.NewValue);
Console.WriteLine ("OldValue: {0}", observed.OldValue);
Console.WriteLine ("Indexes: {0}", observed.Indexes);
Console.WriteLine ("IsPrior: {0}", observed.IsPrior);
});
}]]></code>
</example>
<para>
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="AddObserver">
<MemberSignature Language="C#" Value="public virtual void AddObserver (Foundation.NSObject observer, Foundation.NSString keyPath, Foundation.NSKeyValueObservingOptions options, IntPtr context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddObserver(class Foundation.NSObject observer, class Foundation.NSString keyPath, valuetype Foundation.NSKeyValueObservingOptions options, native int context) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AddObserver(Foundation.NSObject,Foundation.NSString,Foundation.NSKeyValueObservingOptions,System.IntPtr)" />
<MemberSignature Language="F#" Value="abstract member AddObserver : Foundation.NSObject * Foundation.NSString * Foundation.NSKeyValueObservingOptions * nativeint -&gt; unit&#xA;override this.AddObserver : Foundation.NSObject * Foundation.NSString * Foundation.NSKeyValueObservingOptions * nativeint -&gt; unit" Usage="nSObject.AddObserver (observer, keyPath, options, context)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("addObserver:forKeyPath:options:context:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="observer" Type="Foundation.NSObject" />
<Parameter Name="keyPath" Type="Foundation.NSString" />
<Parameter Name="options" Type="Foundation.NSKeyValueObservingOptions" />
<Parameter Name="context" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="observer">
The object that will receive the notifications
</param>
<param name="keyPath">
Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.
</param>
<param name="options">
Flags indicating which notifications you are interested in receiving (New, Old, Initial, Prior).Context data passed to the <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method when one of the properties change.
</param>
<param name="context">Opaque constant that will be passed to the <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method</param>
<summary>Registers an object for being observed externally (using NSString keyPath).   Observed changes are dispatched to the observer’s object <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method.</summary>
<remarks>
<para>When the object is registered for observation, changes to the object specified in the keyPath that match the flags requested in options will be sent to the <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method in the observer object.   </para>
<para>To stop receiving notifications, call the <see cref="M:Foundation.NSObject.RemoveObserver(Foundation.NSObject,System.String,System.IntPtr)" /> method.</para>
<para>
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[class MySampleViewController : UIViewController {
// A token to tell different observed properties appart.
const IntPtr tokenObserveRate = (IntPtr) 1;
const IntPtr tokenObserveVolume = (IntPtr) 2;
void Setup ()
{
Player.AddObserver (this, (NSString)"rate",
NSKeyValueObservingOptions.Old | NSKeyValueObservingOptions.New,
tokenObserveRate);
Player.AddObserver (this, (NSString)”volume",
NSKeyValueObservingOptions.Old | NSKeyValueObservingOptions.New,
tokenObserveVolume);
}
public override void ObserveValue (NSString keyPath, NSObject ofObject, NSDictionary change, IntPtr ctx)
{
// Handle change.
if (ctx == tokenObserveRate) {
// the rate changed
} else if (ctx == tokenObserveVolume){
// the volume changed
} else {
// invoke the base implementation for unhandled events
base.ObserveValue (keyPath, ofObject, change, ctx);
}
}
}]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="AddObserver">
<MemberSignature Language="C#" Value="public void AddObserver (Foundation.NSObject observer, string keyPath, Foundation.NSKeyValueObservingOptions options, IntPtr context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddObserver(class Foundation.NSObject observer, string keyPath, valuetype Foundation.NSKeyValueObservingOptions options, native int context) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AddObserver(Foundation.NSObject,System.String,Foundation.NSKeyValueObservingOptions,System.IntPtr)" />
<MemberSignature Language="F#" Value="member this.AddObserver : Foundation.NSObject * string * Foundation.NSKeyValueObservingOptions * nativeint -&gt; unit" Usage="nSObject.AddObserver (observer, keyPath, options, context)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="observer" Type="Foundation.NSObject" />
<Parameter Name="keyPath" Type="System.String" />
<Parameter Name="options" Type="Foundation.NSKeyValueObservingOptions" />
<Parameter Name="context" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="observer">
The object that will receive the notifications.   The object will receive notifications on its <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method.</param>
<param name="keyPath">
Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.
</param>
<param name="options">
Flags indicating which notifications you are interested in receiving (New, Old, Initial, Prior).
</param>
<param name="context">
Context data passed to
the <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" />
method when one of the properties change.
</param>
<summary>Registers an object for being observed externally (using string keyPath).   Observed changes are dispatched to the observer’s object <see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method.</summary>
<remarks>
<para>When the object is registered for observation, changes
to the object specified in the keyPath that match the flags
requested in options will be sent to the
<see cref="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" /> method in the observer object.</para>
<para>To stop receiving notifications, call the <see cref="M:Foundation.NSObject.RemoveObserver(Foundation.NSObject,System.String,System.IntPtr)" /> method.</para>
<para>
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[class MySampleViewController : UIViewController {
void Setup ()
{
Player.AddObserver (this, (NSString)"rate",
NSKeyValueObservingOptions.Old | NSKeyValueObservingOptions.New,
IntPtr.Zero);
}
public override void ObserveValue (NSString keyPath, NSObject ofObject, NSDictionary change, IntPtr ctx)
{
// Handle change.
}
}]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="Alloc">
<MemberSignature Language="C#" Value="public static Foundation.NSObject Alloc (ObjCRuntime.Class kls);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Foundation.NSObject Alloc(class ObjCRuntime.Class kls) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Alloc(ObjCRuntime.Class)" />
<MemberSignature Language="F#" Value="static member Alloc : ObjCRuntime.Class -&gt; Foundation.NSObject" Usage="Foundation.NSObject.Alloc kls" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="kls" Type="ObjCRuntime.Class" />
</Parameters>
<Docs>
<param name="kls">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="AutomaticallyNotifiesObserversForKey">
<MemberSignature Language="C#" Value="public static bool AutomaticallyNotifiesObserversForKey (string key);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AutomaticallyNotifiesObserversForKey(string key) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AutomaticallyNotifiesObserversForKey(System.String)" />
<MemberSignature Language="F#" Value="static member AutomaticallyNotifiesObserversForKey : string -&gt; bool" Usage="Foundation.NSObject.AutomaticallyNotifiesObserversForKey key" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("automaticallyNotifiesObserversForKey:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" />
</Parameters>
<Docs>
<param name="key">Name of the Objective-C property. It must be an ASCII name, start with a lowercase letter and contain no spaces.</param>
<summary>Whether this object is providing key-value notifications for the specified key.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="AwakeFromNib">
<MemberSignature Language="C#" Value="public virtual void AwakeFromNib ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AwakeFromNib() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.AwakeFromNib" />
<MemberSignature Language="F#" Value="abstract member AwakeFromNib : unit -&gt; unit&#xA;override this.AwakeFromNib : unit -&gt; unit" Usage="nSObject.AwakeFromNib " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Advice("Overriding this method requires a call to the overriden method.")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>Foundation.Export("awakeFromNib")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.RequiresSuper</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Called after the object has been loaded from the nib file. Overriders must call base.AwakeFromNib().</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="BeginInvokeOnMainThread">
<MemberSignature Language="C#" Value="public void BeginInvokeOnMainThread (Action action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void BeginInvokeOnMainThread(class System.Action action) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.BeginInvokeOnMainThread(System.Action)" />
<MemberSignature Language="F#" Value="member this.BeginInvokeOnMainThread : Action -&gt; unit" Usage="nSObject.BeginInvokeOnMainThread action" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="System.Action" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="BeginInvokeOnMainThread">
<MemberSignature Language="C#" Value="public void BeginInvokeOnMainThread (ObjCRuntime.Selector sel, Foundation.NSObject obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void BeginInvokeOnMainThread(class ObjCRuntime.Selector sel, class Foundation.NSObject obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.BeginInvokeOnMainThread(ObjCRuntime.Selector,Foundation.NSObject)" />
<MemberSignature Language="F#" Value="member this.BeginInvokeOnMainThread : ObjCRuntime.Selector * Foundation.NSObject -&gt; unit" Usage="nSObject.BeginInvokeOnMainThread (sel, obj)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sel" Type="ObjCRuntime.Selector" />
<Parameter Name="obj" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="sel">Selector to invoke</param>
<param name="obj">Object in which the selector is invoked</param>
<summary>Invokes asynchrously the specified code on the main UI thread.</summary>
<remarks>
<para>
You use this method from a thread to invoke the code in
the specified object that is exposed with the specified
selector in the UI thread. This is required for most
operations that affect UIKit or AppKit as neither one of
those APIs is thread safe.
</para>
<para>
The code is executed when the main thread goes back to its
main loop for processing events.
</para>
<para>
Unlike <see cref="M:Foundation.NSObject.InvokeOnMainThread(ObjCRuntime.Selector,Foundation.NSObject)" />
this method merely queues the invocation and returns
immediately to the caller.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="CancelPreviousPerformRequest">
<MemberSignature Language="C#" Value="public static void CancelPreviousPerformRequest (Foundation.NSObject aTarget);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void CancelPreviousPerformRequest(class Foundation.NSObject aTarget) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject)" />
<MemberSignature Language="F#" Value="static member CancelPreviousPerformRequest : Foundation.NSObject -&gt; unit" Usage="Foundation.NSObject.CancelPreviousPerformRequest aTarget" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("cancelPreviousPerformRequestsWithTarget:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aTarget" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="aTarget">The object where the delayed invocation was performed.</param>
<summary>Cancels a pending time-delayed Invoke or PerformSelector.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CancelPreviousPerformRequest">
<MemberSignature Language="C#" Value="public static void CancelPreviousPerformRequest (Foundation.NSObject aTarget, ObjCRuntime.Selector selector, Foundation.NSObject argument);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void CancelPreviousPerformRequest(class Foundation.NSObject aTarget, class ObjCRuntime.Selector selector, class Foundation.NSObject argument) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject,ObjCRuntime.Selector,Foundation.NSObject)" />
<MemberSignature Language="F#" Value="static member CancelPreviousPerformRequest : Foundation.NSObject * ObjCRuntime.Selector * Foundation.NSObject -&gt; unit" Usage="Foundation.NSObject.CancelPreviousPerformRequest (aTarget, selector, argument)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("cancelPreviousPerformRequestsWithTarget:selector:object:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aTarget" Type="Foundation.NSObject" />
<Parameter Name="selector" Type="ObjCRuntime.Selector" />
<Parameter Name="argument" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="aTarget">The object where the delayed invocation was performed.</param>
<param name="selector">The selector that was going to be invoked.</param>
<param name="argument">
<para>
</para>
<para tool="nullallowed">This parameter can be <see langword="null" />.</para>
</param>
<summary>Cancels a pending time-delayed PerformSelector.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ChangeIndexesKey">
<MemberSignature Language="C#" Value="public static Foundation.NSString ChangeIndexesKey { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Foundation.NSString ChangeIndexesKey" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ChangeIndexesKey" />
<MemberSignature Language="F#" Value="member this.ChangeIndexesKey : Foundation.NSString" Usage="Foundation.NSObject.ChangeIndexesKey" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Field("NSKeyValueChangeIndexesKey", "Foundation")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSString</ReturnType>
</ReturnValue>
<Docs>
<summary>Represents the value associated with the constant NSKeyValueChangeIndexesKey</summary>
<value>
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ChangeKindKey">
<MemberSignature Language="C#" Value="public static Foundation.NSString ChangeKindKey { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Foundation.NSString ChangeKindKey" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ChangeKindKey" />
<MemberSignature Language="F#" Value="member this.ChangeKindKey : Foundation.NSString" Usage="Foundation.NSObject.ChangeKindKey" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Field("NSKeyValueChangeKindKey", "Foundation")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSString</ReturnType>
</ReturnValue>
<Docs>
<summary>Represents the value associated with the constant NSKeyValueChangeKindKey</summary>
<value>
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ChangeNewKey">
<MemberSignature Language="C#" Value="public static Foundation.NSString ChangeNewKey { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Foundation.NSString ChangeNewKey" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ChangeNewKey" />
<MemberSignature Language="F#" Value="member this.ChangeNewKey : Foundation.NSString" Usage="Foundation.NSObject.ChangeNewKey" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Field("NSKeyValueChangeNewKey", "Foundation")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSString</ReturnType>
</ReturnValue>
<Docs>
<summary>Represents the value associated with the constant NSKeyValueChangeNewKey</summary>
<value>
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ChangeNotificationIsPriorKey">
<MemberSignature Language="C#" Value="public static Foundation.NSString ChangeNotificationIsPriorKey { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Foundation.NSString ChangeNotificationIsPriorKey" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ChangeNotificationIsPriorKey" />
<MemberSignature Language="F#" Value="member this.ChangeNotificationIsPriorKey : Foundation.NSString" Usage="Foundation.NSObject.ChangeNotificationIsPriorKey" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Field("NSKeyValueChangeNotificationIsPriorKey", "Foundation")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSString</ReturnType>
</ReturnValue>
<Docs>
<summary>Notification constant for ChangeNotificati</summary>
<value>NSString constant, should be used as a token to NSNotificationCenter.</value>
<remarks>
<para id="tool-remark">This constant can be used with the <see cref="T:Foundation.NSNotificationCenter" /> to register a listener for this notification.</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (NSObject.ChangeNotificationIsPriorKey, (notification) => Console.WriteLine ("Received the notification NSObject", notification);
// Method style
void Callback (NSNotification notification)
{
Console.WriteLine ("Received a notification NSObject", notification);
}
void Setup ()
{
NSNotificationCenter.DefaultCenter.AddObserver (NSObject.ChangeNotificationIsPriorKey, Callback);
}
]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="ChangeOldKey">
<MemberSignature Language="C#" Value="public static Foundation.NSString ChangeOldKey { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Foundation.NSString ChangeOldKey" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ChangeOldKey" />
<MemberSignature Language="F#" Value="member this.ChangeOldKey : Foundation.NSString" Usage="Foundation.NSObject.ChangeOldKey" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Field("NSKeyValueChangeOldKey", "Foundation")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSString</ReturnType>
</ReturnValue>
<Docs>
<summary>Represents the value associated with the constant NSKeyValueChangeOldKey</summary>
<value>
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Class">
<MemberSignature Language="C#" Value="public virtual ObjCRuntime.Class Class { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class ObjCRuntime.Class Class" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.Class" />
<MemberSignature Language="F#" Value="member this.Class : ObjCRuntime.Class" Usage="Foundation.NSObject.Class" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Foundation.INSObjectProtocol.Class</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>get: Foundation.Export("class")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>ObjCRuntime.Class</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClassHandle">
<MemberSignature Language="C#" Value="public virtual IntPtr ClassHandle { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance native int ClassHandle" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.ClassHandle" />
<MemberSignature Language="F#" Value="member this.ClassHandle : nativeint" Usage="Foundation.NSObject.ClassHandle" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Docs>
<summary>The handle for this class.</summary>
<value>The pointer to the Objective-C class.</value>
<remarks>Each Xamarin.iOS class mirrors an unmanaged Objective-C class. This value contains the pointer to the Objective-C class, it is similar to calling objc_getClass with the object name.</remarks>
</Docs>
</Member>
<Member MemberName="ConformsToProtocol">
<MemberSignature Language="C#" Value="public virtual bool ConformsToProtocol (IntPtr protocol);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ConformsToProtocol(native int protocol) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.ConformsToProtocol(System.IntPtr)" />
<MemberSignature Language="F#" Value="abstract member ConformsToProtocol : nativeint -&gt; bool&#xA;override this.ConformsToProtocol : nativeint -&gt; bool" Usage="nSObject.ConformsToProtocol protocol" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.ConformsToProtocol(System.IntPtr)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("conformsToProtocol:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>Foundation.Preserve</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="protocol" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="protocol">Pointer to a protocol.</param>
<summary>Invoked to determine if this object implements the specified protocol.</summary>
<returns>Must return true if the class implements the protocol.</returns>
<remarks>
<para>
You can override this method if you need your class to
respond to Objective-C's query to the object as to whether
it implements the specified protocol.
</para>
<para>
You can compare the IntPtr value with the result of
creating an AdoptsAttribute with the specified protocol
and fetching its ProtocolHandle.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
static AdoptsAttribute myProtocol = new AdoptsAttribute ("MyProtocol");
public override ConformsToProtocol (IntPtr protocol)
{
if (protocol == myProtocol.ProtocolHandle)
return true;
return false;
}
]]></code>
</example>
<para>
Although typically you would merely decorare your class
with the <see cref="T:ObjCRuntime.AdoptsAttribute" /> and let
the runtime do this for you, like this:
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Adopts ("UITextInput")]
[Register ("MyCoreView")]
public class EditableCoreTextView : UIView {
[Export ("inputDelegate")]
public UITextInputDelegate InputDelegate {...}
}
]]></code>
</example>
<para>
For a complete sample of the AdoptsAttribute see the SimpleTextInput sample
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Copy">
<MemberSignature Language="C#" Value="public virtual Foundation.NSObject Copy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject Copy() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Copy" />
<MemberSignature Language="F#" Value="abstract member Copy : unit -&gt; Foundation.NSObject&#xA;override this.Copy : unit -&gt; Foundation.NSObject" Usage="nSObject.Copy " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("copy")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.Release</AttributeName>
</Attribute>
</Attributes>
</ReturnValue>
<Parameters />
<Docs>
<summary>Performs a copy of the underlying Objective-C object.</summary>
<returns>This method performs a copy of the underlying Objective-C object state and returns a new instance of it. It does not actually try to replicate any managed state.</returns>
<remarks>Convenience method that calls the Copy(null) method. This is an implementation of the INSCopyable interface.</remarks>
</Docs>
</Member>
<Member MemberName="DangerousAutorelease">
<MemberSignature Language="C#" Value="public Foundation.NSObject DangerousAutorelease ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject DangerousAutorelease() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DangerousAutorelease" />
<MemberSignature Language="F#" Value="abstract member DangerousAutorelease : unit -&gt; Foundation.NSObject&#xA;override this.DangerousAutorelease : unit -&gt; Foundation.NSObject" Usage="nSObject.DangerousAutorelease " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.DangerousAutorelease</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DangerousRelease">
<MemberSignature Language="C#" Value="public void DangerousRelease ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DangerousRelease() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DangerousRelease" />
<MemberSignature Language="F#" Value="abstract member DangerousRelease : unit -&gt; unit&#xA;override this.DangerousRelease : unit -&gt; unit" Usage="nSObject.DangerousRelease " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.DangerousRelease</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DangerousRetain">
<MemberSignature Language="C#" Value="public Foundation.NSObject DangerousRetain ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject DangerousRetain() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DangerousRetain" />
<MemberSignature Language="F#" Value="abstract member DangerousRetain : unit -&gt; Foundation.NSObject&#xA;override this.DangerousRetain : unit -&gt; Foundation.NSObject" Usage="nSObject.DangerousRetain " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.DangerousRetain</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DebugDescription">
<MemberSignature Language="C#" Value="public virtual string DebugDescription { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string DebugDescription" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.DebugDescription" />
<MemberSignature Language="F#" Value="member this.DebugDescription : string" Usage="Foundation.NSObject.DebugDescription" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>get: Foundation.Export("debugDescription")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>A developer-meaningful description of this object.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Description">
<MemberSignature Language="C#" Value="public virtual string Description { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Description" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.Description" />
<MemberSignature Language="F#" Value="member this.Description : string" Usage="Foundation.NSObject.Description" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Foundation.INSObjectProtocol.Description</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>get: Foundation.Export("description")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Description of the object, the Objective-C version of ToString.</summary>
<value>
</value>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName="DidChange">
<MemberSignature Language="C#" Value="public virtual void DidChange (Foundation.NSKeyValueChange changeKind, Foundation.NSIndexSet indexes, Foundation.NSString forKey);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidChange(valuetype Foundation.NSKeyValueChange changeKind, class Foundation.NSIndexSet indexes, class Foundation.NSString forKey) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DidChange(Foundation.NSKeyValueChange,Foundation.NSIndexSet,Foundation.NSString)" />
<MemberSignature Language="F#" Value="abstract member DidChange : Foundation.NSKeyValueChange * Foundation.NSIndexSet * Foundation.NSString -&gt; unit&#xA;override this.DidChange : Foundation.NSKeyValueChange * Foundation.NSIndexSet * Foundation.NSString -&gt; unit" Usage="nSObject.DidChange (changeKind, indexes, forKey)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("didChange:valuesAtIndexes:forKey:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="changeKind" Type="Foundation.NSKeyValueChange" />
<Parameter Name="indexes" Type="Foundation.NSIndexSet" />
<Parameter Name="forKey" Type="Foundation.NSString" />
</Parameters>
<Docs>
<param name="changeKind">To be added.</param>
<param name="indexes">To be added.</param>
<param name="forKey">The name of the key that was changed.</param>
<summary>Indicates a change occurred to the indexes for a to-many relationship.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DidChange">
<MemberSignature Language="C#" Value="public virtual void DidChange (Foundation.NSString forKey, Foundation.NSKeyValueSetMutationKind mutationKind, Foundation.NSSet objects);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidChange(class Foundation.NSString forKey, valuetype Foundation.NSKeyValueSetMutationKind mutationKind, class Foundation.NSSet objects) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DidChange(Foundation.NSString,Foundation.NSKeyValueSetMutationKind,Foundation.NSSet)" />
<MemberSignature Language="F#" Value="abstract member DidChange : Foundation.NSString * Foundation.NSKeyValueSetMutationKind * Foundation.NSSet -&gt; unit&#xA;override this.DidChange : Foundation.NSString * Foundation.NSKeyValueSetMutationKind * Foundation.NSSet -&gt; unit" Usage="nSObject.DidChange (forKey, mutationKind, objects)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("didChangeValueForKey:withSetMutation:usingObjects:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="forKey" Type="Foundation.NSString" />
<Parameter Name="mutationKind" Type="Foundation.NSKeyValueSetMutationKind" />
<Parameter Name="objects" Type="Foundation.NSSet" />
</Parameters>
<Docs>
<param name="forKey">The name of the key that was changed.</param>
<param name="mutationKind">To be added.</param>
<param name="objects">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DidChangeValue">
<MemberSignature Language="C#" Value="public virtual void DidChangeValue (string forKey);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidChangeValue(string forKey) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DidChangeValue(System.String)" />
<MemberSignature Language="F#" Value="abstract member DidChangeValue : string -&gt; unit&#xA;override this.DidChangeValue : string -&gt; unit" Usage="nSObject.DidChangeValue forKey" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("didChangeValueForKey:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="forKey" Type="System.String" />
</Parameters>
<Docs>
<param name="forKey">The name of the key that was changed.</param>
<summary>Indicates that a change occurred on the specified key.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="public void Dispose ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Dispose" />
<MemberSignature Language="F#" Value="abstract member Dispose : unit -&gt; unit&#xA;override this.Dispose : unit -&gt; unit" Usage="nSObject.Dispose " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Releases the resources used by the NSObject object.</summary>
<remarks>
<para>The Dispose method releases the resources used by the NSObject class.</para>
<para>Calling the Dispose method when the application is finished using the NSObject ensures that all external resources used by this managed object are released as soon as possible. Once developers have invoked the Dispose method, the object is no longer useful and developers should no longer make any calls to it. For more information on releasing resources see ``Cleaning up Unmananaged Resources'' at https://msdn.microsoft.com/en-us/library/498928w2.aspx</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Dispose(bool disposing) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Dispose(System.Boolean)" />
<MemberSignature Language="F#" Value="abstract member Dispose : bool -&gt; unit&#xA;override this.Dispose : bool -&gt; unit" Usage="nSObject.Dispose disposing" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="disposing">
<para>If set to <see langword="true" />, the method is invoked directly and will dispose manage and unmanaged resources; If set to <see langword="false" /> the method is being called by the garbage collector finalizer and should only release unmanaged resources.</para>
</param>
<summary>Releases the resources used by the NSObject object.</summary>
<remarks>
<para>This Dispose method releases the resources used by the NSObject class.</para>
<para>This method is called by both the Dispose() method and the object finalizer (Finalize). When invoked by the Dispose method, the parameter disposing <paramref name="disposing" /> is set to <see langword="true" /> and any managed object references that this object holds are also disposed or released; when invoked by the object finalizer, on the finalizer thread the value is set to <see langword="false" />. </para>
<para>Calling the Dispose method when the application is finished using the NSObject ensures that all external resources used by this managed object are released as soon as possible. Once developers have invoked the Dispose method, the object is no longer useful and developers should no longer make any calls to it.</para>
<para> For more information on how to override this method and on the Dispose/IDisposable pattern, read the ``Implementing a Dispose Method'' document at https://msdn.microsoft.com/en-us/library/fs2xkftw.aspx</para>
</remarks>
</Docs>
</Member>
<Member MemberName="DoesNotRecognizeSelector">
<MemberSignature Language="C#" Value="public virtual void DoesNotRecognizeSelector (ObjCRuntime.Selector sel);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DoesNotRecognizeSelector(class ObjCRuntime.Selector sel) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.DoesNotRecognizeSelector(ObjCRuntime.Selector)" />
<MemberSignature Language="F#" Value="abstract member DoesNotRecognizeSelector : ObjCRuntime.Selector -&gt; unit&#xA;override this.DoesNotRecognizeSelector : ObjCRuntime.Selector -&gt; unit" Usage="nSObject.DoesNotRecognizeSelector sel" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("doesNotRecognizeSelector:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sel" Type="ObjCRuntime.Selector" />
</Parameters>
<Docs>
<param name="sel">To be added.</param>
<summary>Indicates that this object does not recognize the specified selector.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public bool Equals (Foundation.NSObject obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(class Foundation.NSObject obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Equals(Foundation.NSObject)" />
<MemberSignature Language="F#" Value="override this.Equals : Foundation.NSObject -&gt; bool" Usage="nSObject.Equals obj" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.IEquatable`1.Equals(`0)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="obj">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Equals(System.Object)" />
<MemberSignature Language="F#" Value="override this.Equals : obj -&gt; bool" Usage="nSObject.Equals obj" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="~NSObject ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Finalize" />
<MemberSignature Language="F#" Value="override this.Finalize : unit -&gt; unit" Usage="nSObject.Finalize " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Finalizer for the NSObject object</summary>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName="FromObject">
<MemberSignature Language="C#" Value="public static Foundation.NSObject FromObject (object obj);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Foundation.NSObject FromObject(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.FromObject(System.Object)" />
<MemberSignature Language="F#" Value="static member FromObject : obj -&gt; Foundation.NSObject" Usage="Foundation.NSObject.FromObject obj" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">A ECMA CLI object.</param>
<summary>Boxes an object into an NSObject.</summary>
<returns>Boxed object or null if the type can not be boxed.</returns>
<remarks>
<para>
This method can box the following types from a core
runtime type to an NSObject type by boxing the values.
</para>
<para>
bool, char, sbyte, byte, short, ushort, int, int32,
long, long64, float and double are boxed as NSNumbers.
</para>
<para>
IntPtr are boxed as NSValue containing a pointer.
</para>
<para>
System.Drawing.SizeF, System.Drawing.RectangleF,
System.Drawing.PointF,
MonoTouch.CoreGraphics.CGAffineTransform,
MonoTouch.UIKit.UIEdgeInsets and
MonoTouch.CoreAnimation.CATransform3D are boxed as an
NSValue containing the corresponding type.
</para>
<para>
NSObjects and subclasses are returned as-is.
</para>
<para>
The null value is returned as an NSNull.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="GetDictionaryOfValuesFromKeys">
<MemberSignature Language="C#" Value="public virtual Foundation.NSDictionary GetDictionaryOfValuesFromKeys (Foundation.NSString[] keys);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSDictionary GetDictionaryOfValuesFromKeys(class Foundation.NSString[] keys) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetDictionaryOfValuesFromKeys(Foundation.NSString[])" />
<MemberSignature Language="F#" Value="abstract member GetDictionaryOfValuesFromKeys : Foundation.NSString[] -&gt; Foundation.NSDictionary&#xA;override this.GetDictionaryOfValuesFromKeys : Foundation.NSString[] -&gt; Foundation.NSDictionary" Usage="nSObject.GetDictionaryOfValuesFromKeys keys" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("dictionaryWithValuesForKeys:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSDictionary</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keys" Type="Foundation.NSString[]" />
</Parameters>
<Docs>
<param name="keys">To be added.</param>
<summary>Retrieves the values of the specified keys.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetHashCode">
<MemberSignature Language="C#" Value="public override int GetHashCode ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetHashCode" />
<MemberSignature Language="F#" Value="override this.GetHashCode : unit -&gt; int" Usage="nSObject.GetHashCode " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Generates a hash code for the current instance.</summary>
<returns>A int containing the hash code for this instance.</returns>
<remarks>The algorithm used to generate the hash code is unspecified.</remarks>
</Docs>
</Member>
<Member MemberName="GetKeyPathsForValuesAffecting">
<MemberSignature Language="C#" Value="public static Foundation.NSSet GetKeyPathsForValuesAffecting (Foundation.NSString key);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Foundation.NSSet GetKeyPathsForValuesAffecting(class Foundation.NSString key) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetKeyPathsForValuesAffecting(Foundation.NSString)" />
<MemberSignature Language="F#" Value="static member GetKeyPathsForValuesAffecting : Foundation.NSString -&gt; Foundation.NSSet" Usage="Foundation.NSObject.GetKeyPathsForValuesAffecting key" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("keyPathsForValuesAffectingValueForKey:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSSet</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="Foundation.NSString" />
</Parameters>
<Docs>
<param name="key">Name of the Objective-C property. It must be an ASCII name, start with a lowercase letter and contain no spaces.</param>
<summary>The key paths whose values affect the value of the specified key.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetMethodForSelector">
<MemberSignature Language="C#" Value="public virtual IntPtr GetMethodForSelector (ObjCRuntime.Selector sel);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance native int GetMethodForSelector(class ObjCRuntime.Selector sel) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetMethodForSelector(ObjCRuntime.Selector)" />
<MemberSignature Language="F#" Value="abstract member GetMethodForSelector : ObjCRuntime.Selector -&gt; nativeint&#xA;override this.GetMethodForSelector : ObjCRuntime.Selector -&gt; nativeint" Usage="nSObject.GetMethodForSelector sel" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("methodForSelector:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sel" Type="ObjCRuntime.Selector" />
</Parameters>
<Docs>
<param name="sel">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetNativeField">
<MemberSignature Language="C#" Value="public Foundation.NSObject GetNativeField (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Foundation.NSObject GetNativeField(string name) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetNativeField(System.String)" />
<MemberSignature Language="F#" Value="member this.GetNativeField : string -&gt; Foundation.NSObject" Usage="nSObject.GetNativeField name" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete("Do not use; this API does not properly retain/release existing/new values, so leaks and/or crashes may occur.")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<param name="name">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetNativeHash">
<MemberSignature Language="C#" Value="public virtual nuint GetNativeHash ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.nuint GetNativeHash() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.GetNativeHash" />
<MemberSignature Language="F#" Value="abstract member GetNativeHash : unit -&gt; nuint&#xA;override this.GetNativeHash : unit -&gt; nuint" Usage="nSObject.GetNativeHash " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.GetNativeHash</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("hash")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.nuint</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Handle">
<MemberSignature Language="C#" Value="public IntPtr Handle { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.Handle" />
<MemberSignature Language="F#" Value="member this.Handle : nativeint with get, set" Usage="Foundation.NSObject.Handle" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Docs>
<summary>Handle (pointer) to the unmanaged object representation.</summary>
<value>A pointer</value>
<remarks>This IntPtr is a handle to the underlying unmanaged representation for this object.</remarks>
</Docs>
</Member>
<Member MemberName="Init">
<MemberSignature Language="C#" Value="public void Init ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Init() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Init" />
<MemberSignature Language="F#" Value="member this.Init : unit -&gt; unit" Usage="nSObject.Init " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="InitializeHandle">
<MemberSignature Language="C#" Value="protected void InitializeHandle (IntPtr handle);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void InitializeHandle(native int handle) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.InitializeHandle(System.IntPtr)" />
<MemberSignature Language="F#" Value="member this.InitializeHandle : nativeint -&gt; unit" Usage="nSObject.InitializeHandle handle" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="handle" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="handle">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="InitializeHandle">
<MemberSignature Language="C#" Value="protected void InitializeHandle (IntPtr handle, string initSelector);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void InitializeHandle(native int handle, string initSelector) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.InitializeHandle(System.IntPtr,System.String)" />
<MemberSignature Language="F#" Value="member this.InitializeHandle : nativeint * string -&gt; unit" Usage="nSObject.InitializeHandle (handle, initSelector)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="handle" Type="System.IntPtr" />
<Parameter Name="initSelector" Type="System.String" />
</Parameters>
<Docs>
<param name="handle">To be added.</param>
<param name="initSelector">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Invoke">
<MemberSignature Language="C#" Value="public virtual void Invoke (Action action, double delay);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Invoke(class System.Action action, float64 delay) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Invoke(System.Action,System.Double)" />
<MemberSignature Language="F#" Value="abstract member Invoke : Action * double -&gt; unit&#xA;override this.Invoke : Action * double -&gt; unit" Usage="nSObject.Invoke (action, delay)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="System.Action" />
<Parameter Name="delay" Type="System.Double" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<param name="delay">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Invoke">
<MemberSignature Language="C#" Value="public virtual void Invoke (Action action, TimeSpan delay);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Invoke(class System.Action action, valuetype System.TimeSpan delay) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.Invoke(System.Action,System.TimeSpan)" />
<MemberSignature Language="F#" Value="abstract member Invoke : Action * TimeSpan -&gt; unit&#xA;override this.Invoke : Action * TimeSpan -&gt; unit" Usage="nSObject.Invoke (action, delay)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="System.Action" />
<Parameter Name="delay" Type="System.TimeSpan" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<param name="delay">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="InvokeInBackground">
<MemberSignature Language="C#" Value="public static void InvokeInBackground (Action action);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void InvokeInBackground(class System.Action action) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.InvokeInBackground(System.Action)" />
<MemberSignature Language="F#" Value="static member InvokeInBackground : Action -&gt; unit" Usage="Foundation.NSObject.InvokeInBackground action" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="System.Action" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="InvokeOnMainThread">
<MemberSignature Language="C#" Value="public void InvokeOnMainThread (Action action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void InvokeOnMainThread(class System.Action action) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.InvokeOnMainThread(System.Action)" />
<MemberSignature Language="F#" Value="member this.InvokeOnMainThread : Action -&gt; unit" Usage="nSObject.InvokeOnMainThread action" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="action" Type="System.Action" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="InvokeOnMainThread">
<MemberSignature Language="C#" Value="public void InvokeOnMainThread (ObjCRuntime.Selector sel, Foundation.NSObject obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void InvokeOnMainThread(class ObjCRuntime.Selector sel, class Foundation.NSObject obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.InvokeOnMainThread(ObjCRuntime.Selector,Foundation.NSObject)" />
<MemberSignature Language="F#" Value="member this.InvokeOnMainThread : ObjCRuntime.Selector * Foundation.NSObject -&gt; unit" Usage="nSObject.InvokeOnMainThread (sel, obj)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sel" Type="ObjCRuntime.Selector" />
<Parameter Name="obj" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="sel">Selector to invoke</param>
<param name="obj">Object in which the selector is invoked</param>
<summary>Invokes synchrously the specified code on the main UI thread.</summary>
<remarks>
<para>
You use this method from a thread to invoke the code in
the specified object that is exposed with the specified
selector in the UI thread. This is required for most
operations that affect UIKit or AppKit as neither one of
those APIs is thread safe.
</para>
<para>
The code is executed when the main thread goes back to its
main loop for processing events.
</para>
<para>
Unlike <see cref="M:Foundation.NSObject.BeginInvokeOnMainThread(ObjCRuntime.Selector,Foundation.NSObject)" />
this method waits for the main thread to execute the method, and does not return until the code pointed by action has completed.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="IsDirectBinding">
<MemberSignature Language="C#" Value="protected internal bool IsDirectBinding { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsDirectBinding" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.IsDirectBinding" />
<MemberSignature Language="F#" Value="member this.IsDirectBinding : bool with get, set" Usage="Foundation.NSObject.IsDirectBinding" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsEqual">
<MemberSignature Language="C#" Value="public virtual bool IsEqual (Foundation.NSObject anObject);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsEqual(class Foundation.NSObject anObject) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.IsEqual(Foundation.NSObject)" />
<MemberSignature Language="F#" Value="abstract member IsEqual : Foundation.NSObject -&gt; bool&#xA;override this.IsEqual : Foundation.NSObject -&gt; bool" Usage="nSObject.IsEqual anObject" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.IsEqual(Foundation.NSObject)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("isEqual:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="anObject" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="anObject">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsKindOfClass">
<MemberSignature Language="C#" Value="public virtual bool IsKindOfClass (ObjCRuntime.Class aClass);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsKindOfClass(class ObjCRuntime.Class aClass) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.IsKindOfClass(ObjCRuntime.Class)" />
<MemberSignature Language="F#" Value="abstract member IsKindOfClass : ObjCRuntime.Class -&gt; bool&#xA;override this.IsKindOfClass : ObjCRuntime.Class -&gt; bool" Usage="nSObject.IsKindOfClass aClass" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.IsKindOfClass(ObjCRuntime.Class)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("isKindOfClass:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aClass" Type="ObjCRuntime.Class" />
</Parameters>
<Docs>
<param name="aClass">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsMemberOfClass">
<MemberSignature Language="C#" Value="public virtual bool IsMemberOfClass (ObjCRuntime.Class aClass);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsMemberOfClass(class ObjCRuntime.Class aClass) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.IsMemberOfClass(ObjCRuntime.Class)" />
<MemberSignature Language="F#" Value="abstract member IsMemberOfClass : ObjCRuntime.Class -&gt; bool&#xA;override this.IsMemberOfClass : ObjCRuntime.Class -&gt; bool" Usage="nSObject.IsMemberOfClass aClass" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.IsMemberOfClass(ObjCRuntime.Class)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("isMemberOfClass:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aClass" Type="ObjCRuntime.Class" />
</Parameters>
<Docs>
<param name="aClass">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsNewRefcountEnabled">
<MemberSignature Language="C#" Value="public static bool IsNewRefcountEnabled ();" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsNewRefcountEnabled() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.IsNewRefcountEnabled" />
<MemberSignature Language="F#" Value="static member IsNewRefcountEnabled : unit -&gt; bool" Usage="Foundation.NSObject.IsNewRefcountEnabled " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Internal -- Determines whether MonoTouch is using the new toggle-reference system or not</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsProxy">
<MemberSignature Language="C#" Value="public virtual bool IsProxy { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsProxy" />
<MemberSignature Language="DocId" Value="P:Foundation.NSObject.IsProxy" />
<MemberSignature Language="F#" Value="member this.IsProxy : bool" Usage="Foundation.NSObject.IsProxy" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Foundation.INSObjectProtocol.IsProxy</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>get: Foundation.Export("isProxy")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MarkDirty">
<MemberSignature Language="C#" Value="protected void MarkDirty ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void MarkDirty() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.MarkDirty" />
<MemberSignature Language="F#" Value="member this.MarkDirty : unit -&gt; unit" Usage="nSObject.MarkDirty " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Promotes a regular peer object (IsDirectBinding is true) into a toggleref object.</summary>
<remarks>
This turns a regular peer object (one that has
IsDirectBinding set to true) into a toggleref object. This
is necessary when you are storing to a backing field whose
objc_c semantics is not copy or retain. This is an internal
method.
</remarks>
</Docs>
</Member>
<Member MemberName="MonoTouchAssembly">
<MemberSignature Language="C#" Value="public static readonly System.Reflection.Assembly MonoTouchAssembly;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class System.Reflection.Assembly MonoTouchAssembly" />
<MemberSignature Language="DocId" Value="F:Foundation.NSObject.MonoTouchAssembly" />
<MemberSignature Language="F#" Value=" staticval mutable MonoTouchAssembly : System.Reflection.Assembly" Usage="Foundation.NSObject.MonoTouchAssembly" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete("Use 'PlatformAssembly' for easier code sharing across platforms.")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Reflection.Assembly</ReturnType>
</ReturnValue>
<Docs>
<summary>Points to the montoouch assembly.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MutableCopy">
<MemberSignature Language="C#" Value="public virtual Foundation.NSObject MutableCopy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject MutableCopy() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.MutableCopy" />
<MemberSignature Language="F#" Value="abstract member MutableCopy : unit -&gt; Foundation.NSObject&#xA;override this.MutableCopy : unit -&gt; Foundation.NSObject" Usage="nSObject.MutableCopy " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("mutableCopy")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.Release</AttributeName>
</Attribute>
</Attributes>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a mutable copy of the specified NSObject.</summary>
<returns>
</returns>
<remarks>
<para>
Objects that implement the NSMutableCopying protocol will
a new instance of the mutable version of the object. For
example calling MutableCopy on an NSCharacterSet returns
an NSMutableCharacterSet.
</para>
<para>
Types that implement the NSMutableCopying protocol
include: <see cref="T:AVFoundation.AVAudioMix" />, <see cref="T:AVFoundation.AVAudioMixInputParameters" />,
<see cref="T:AVFoundation.AVComposition" />, <see cref="T:AVFoundation.AVMetadataItem" />, <see cref="T:AVFoundation.AVVideoComposition" />, <see cref="T:AVFoundation.AVVideoCompositionInstruction" />,
<see cref="T:AVFoundation.AVVideoCompositionLayerInstruction" />,
<see cref="T:Foundation.NSArray" />, <see cref="T:Foundation.NSAttributedString" />, <see cref="T:Foundation.NSCharacterSet" />, <see cref="T:Foundation.NSData" />, <see cref="T:Foundation.NSDictionary" />, <see cref="T:Foundation.NSIndexSet" />, <see cref="T:Foundation.NSObject" />, <see cref="T:Foundation.NSSet" />, <see cref="T:Foundation.NSString" />, <see cref="T:Foundation.NSUrlRequest" />, <see cref="T:StoreKit.SKPayment" /> and <see cref="T:UIKit.NSParagraphStyle" />.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ObserveValue">
<MemberSignature Language="C#" Value="public virtual void ObserveValue (Foundation.NSString keyPath, Foundation.NSObject ofObject, Foundation.NSDictionary change, IntPtr context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ObserveValue(class Foundation.NSString keyPath, class Foundation.NSObject ofObject, class Foundation.NSDictionary change, native int context) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.ObserveValue(Foundation.NSString,Foundation.NSObject,Foundation.NSDictionary,System.IntPtr)" />
<MemberSignature Language="F#" Value="abstract member ObserveValue : Foundation.NSString * Foundation.NSObject * Foundation.NSDictionary * nativeint -&gt; unit&#xA;override this.ObserveValue : Foundation.NSString * Foundation.NSObject * Foundation.NSDictionary * nativeint -&gt; unit" Usage="nSObject.ObserveValue (keyPath, ofObject, change, context)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("observeValueForKeyPath:ofObject:change:context:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keyPath" Type="Foundation.NSString" />
<Parameter Name="ofObject" Type="Foundation.NSObject" />
<Parameter Name="change" Type="Foundation.NSDictionary" />
<Parameter Name="context" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="keyPath">Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.</param>
<param name="ofObject">To be added.</param>
<param name="change">To be added.</param>
<param name="context">To be added.</param>
<summary>Indicates that the value at the specified keyPath relative to this object has changed.</summary>
<remarks>This method is invoked if you have registered an observer using the <see cref="M:Foundation.NSObject.AddObserver(Foundation.NSObject,System.String,Foundation.NSKeyValueObservingOptions,System.IntPtr)" /> method</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual Foundation.NSObject PerformSelector (ObjCRuntime.Selector aSelector);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject PerformSelector(class ObjCRuntime.Selector aSelector) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector)" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector -&gt; Foundation.NSObject&#xA;override this.PerformSelector : ObjCRuntime.Selector -&gt; Foundation.NSObject" Usage="nSObject.PerformSelector aSelector" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.PerformSelector(ObjCRuntime.Selector)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aSelector" Type="ObjCRuntime.Selector" />
</Parameters>
<Docs>
<param name="aSelector">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual Foundation.NSObject PerformSelector (ObjCRuntime.Selector aSelector, Foundation.NSObject anObject);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject PerformSelector(class ObjCRuntime.Selector aSelector, class Foundation.NSObject anObject) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject)" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSObject -&gt; Foundation.NSObject&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSObject -&gt; Foundation.NSObject" Usage="nSObject.PerformSelector (aSelector, anObject)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:withObject:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aSelector" Type="ObjCRuntime.Selector" />
<Parameter Name="anObject" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="aSelector">To be added.</param>
<param name="anObject">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual Foundation.NSObject PerformSelector (ObjCRuntime.Selector aSelector, Foundation.NSObject object1, Foundation.NSObject object2);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Foundation.NSObject PerformSelector(class ObjCRuntime.Selector aSelector, class Foundation.NSObject object1, class Foundation.NSObject object2) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject,Foundation.NSObject)" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * Foundation.NSObject -&gt; Foundation.NSObject&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * Foundation.NSObject -&gt; Foundation.NSObject" Usage="nSObject.PerformSelector (aSelector, object1, object2)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Foundation.INSObjectProtocol.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject,Foundation.NSObject)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:withObject:withObject:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>Foundation.NSObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="aSelector" Type="ObjCRuntime.Selector" />
<Parameter Name="object1" Type="Foundation.NSObject" />
<Parameter Name="object2" Type="Foundation.NSObject" />
</Parameters>
<Docs>
<param name="aSelector">To be added.</param>
<param name="object1">To be added.</param>
<param name="object2">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual void PerformSelector (ObjCRuntime.Selector selector, Foundation.NSObject withObject, double delay);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PerformSelector(class ObjCRuntime.Selector selector, class Foundation.NSObject withObject, float64 delay) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject,System.Double)" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * double -&gt; unit&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * double -&gt; unit" Usage="nSObject.PerformSelector (selector, withObject, delay)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:withObject:afterDelay:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="selector" Type="ObjCRuntime.Selector" />
<Parameter Name="withObject" Type="Foundation.NSObject" />
<Parameter Name="delay" Type="System.Double" />
</Parameters>
<Docs>
<param name="selector">To be added.</param>
<param name="withObject">
<para>To be added.</para>
<para tool="nullallowed">This parameter can be <see langword="null" />.</para>
</param>
<param name="delay">The delay in seconds before the method is invoked.</param>
<summary>Invokes the selector on the current instance and if the <c>obj</c> is not null, it passes this as its single parameter.</summary>
<remarks>
<example>
<code lang="csharp lang-csharp"><![CDATA[
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.MakeKeyAndVisible ();
// Invoke our method in 10 seconds
PerformSelector (new MonoTouch.ObjCRuntime.Selector ("demo:"), new NSString ("hello world"), 10);
return true;
}
// This registers the method "RunDemo" as responding to the selector "demo:"
[Export ("demo:")]
void RunDemo (NSString arg)
{
Console.WriteLine ("This is the parameter I got {0}", arg);
}
]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual void PerformSelector (ObjCRuntime.Selector selector, Foundation.NSObject withObject, double afterDelay, Foundation.NSString[] nsRunLoopModes);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PerformSelector(class ObjCRuntime.Selector selector, class Foundation.NSObject withObject, float64 afterDelay, class Foundation.NSString[] nsRunLoopModes) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSObject,System.Double,Foundation.NSString[])" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * double * Foundation.NSString[] -&gt; unit&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSObject * double * Foundation.NSString[] -&gt; unit" Usage="nSObject.PerformSelector (selector, withObject, afterDelay, nsRunLoopModes)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:withObject:afterDelay:inModes:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="selector" Type="ObjCRuntime.Selector" />
<Parameter Name="withObject" Type="Foundation.NSObject" />
<Parameter Name="afterDelay" Type="System.Double" />
<Parameter Name="nsRunLoopModes" Type="Foundation.NSString[]" />
</Parameters>
<Docs>
<param name="selector">To be added.</param>
<param name="withObject">
<para>To be added.</para>
<para tool="nullallowed">This parameter can be <see langword="null" />.</para>
</param>
<param name="afterDelay">To be added.</param>
<param name="nsRunLoopModes">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual void PerformSelector (ObjCRuntime.Selector selector, Foundation.NSThread onThread, Foundation.NSObject withObject, bool waitUntilDone);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PerformSelector(class ObjCRuntime.Selector selector, class Foundation.NSThread onThread, class Foundation.NSObject withObject, bool waitUntilDone) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSThread,Foundation.NSObject,System.Boolean)" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSThread * Foundation.NSObject * bool -&gt; unit&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSThread * Foundation.NSObject * bool -&gt; unit" Usage="nSObject.PerformSelector (selector, onThread, withObject, waitUntilDone)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:onThread:withObject:waitUntilDone:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="selector" Type="ObjCRuntime.Selector" />
<Parameter Name="onThread" Type="Foundation.NSThread" />
<Parameter Name="withObject" Type="Foundation.NSObject" />
<Parameter Name="waitUntilDone" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="selector">To be added.</param>
<param name="onThread">To be added.</param>
<param name="withObject">
<para>To be added.</para>
<para tool="nullallowed">This parameter can be <see langword="null" />.</para>
</param>
<param name="waitUntilDone">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PerformSelector">
<MemberSignature Language="C#" Value="public virtual void PerformSelector (ObjCRuntime.Selector selector, Foundation.NSThread onThread, Foundation.NSObject withObject, bool waitUntilDone, Foundation.NSString[] nsRunLoopModes);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PerformSelector(class ObjCRuntime.Selector selector, class Foundation.NSThread onThread, class Foundation.NSObject withObject, bool waitUntilDone, class Foundation.NSString[] nsRunLoopModes) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PerformSelector(ObjCRuntime.Selector,Foundation.NSThread,Foundation.NSObject,System.Boolean,Foundation.NSString[])" />
<MemberSignature Language="F#" Value="abstract member PerformSelector : ObjCRuntime.Selector * Foundation.NSThread * Foundation.NSObject * bool * Foundation.NSString[] -&gt; unit&#xA;override this.PerformSelector : ObjCRuntime.Selector * Foundation.NSThread * Foundation.NSObject * bool * Foundation.NSString[] -&gt; unit" Usage="nSObject.PerformSelector (selector, onThread, withObject, waitUntilDone, nsRunLoopModes)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("performSelector:onThread:withObject:waitUntilDone:modes:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="selector" Type="ObjCRuntime.Selector" />
<Parameter Name="onThread" Type="Foundation.NSThread" />
<Parameter Name="withObject" Type="Foundation.NSObject" />
<Parameter Name="waitUntilDone" Type="System.Boolean" />
<Parameter Name="nsRunLoopModes" Type="Foundation.NSString[]" />
</Parameters>
<Docs>
<param name="selector">To be added.</param>
<param name="onThread">To be added.</param>
<param name="withObject">
<para>To be added.</para>
<para tool="nullallowed">This parameter can be <see langword="null" />.</para>
</param>
<param name="waitUntilDone">To be added.</param>
<param name="nsRunLoopModes">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PlatformAssembly">
<MemberSignature Language="C#" Value="public static readonly System.Reflection.Assembly PlatformAssembly;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class System.Reflection.Assembly PlatformAssembly" />
<MemberSignature Language="DocId" Value="F:Foundation.NSObject.PlatformAssembly" />
<MemberSignature Language="F#" Value=" staticval mutable PlatformAssembly : System.Reflection.Assembly" Usage="Foundation.NSObject.PlatformAssembly" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Reflection.Assembly</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PrepareForInterfaceBuilder">
<MemberSignature Language="C#" Value="public virtual void PrepareForInterfaceBuilder ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PrepareForInterfaceBuilder() cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.PrepareForInterfaceBuilder" />
<MemberSignature Language="F#" Value="abstract member PrepareForInterfaceBuilder : unit -&gt; unit&#xA;override this.PrepareForInterfaceBuilder : unit -&gt; unit" Usage="nSObject.PrepareForInterfaceBuilder " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("prepareForInterfaceBuilder")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 10, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RemoveObserver">
<MemberSignature Language="C#" Value="public virtual void RemoveObserver (Foundation.NSObject observer, Foundation.NSString keyPath);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveObserver(class Foundation.NSObject observer, class Foundation.NSString keyPath) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.RemoveObserver(Foundation.NSObject,Foundation.NSString)" />
<MemberSignature Language="F#" Value="abstract member RemoveObserver : Foundation.NSObject * Foundation.NSString -&gt; unit&#xA;override this.RemoveObserver : Foundation.NSObject * Foundation.NSString -&gt; unit" Usage="nSObject.RemoveObserver (observer, keyPath)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("removeObserver:forKeyPath:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="observer" Type="Foundation.NSObject" />
<Parameter Name="keyPath" Type="Foundation.NSString" />
</Parameters>
<Docs>
<param name="observer">
Object currently receiving the observer notifications.
</param>
<param name="keyPath">
Key-path to use to perform the value lookup. The keypath consists of a series of lowercase ASCII-strings with no spaces in them separated by dot characters.
</param>
<summary>Stops the specified observer from receiving further notifications of changed values for the specified keyPath.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RemoveObserver">
<MemberSignature Language="C#" Value="public void RemoveObserver (Foundation.NSObject observer, string keyPath);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveObserver(class Foundation.NSObject observer, string keyPath) cil managed" />
<MemberSignature Language="DocId" Value="M:Foundation.NSObject.RemoveObserver(Foundation.NSObject,System.String)" />
<MemberSignature Language="F#" Value="member this.RemoveObserver : Foundation.NSObject * string -&gt; unit" Usage="nSObject.RemoveObserver (observer, keyPath)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Xamarin.Mac</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="observer" Type="Foundation.NSObject" />
<Parameter Name="keyPath" Type="System.String" />
</Parameters>
<Docs>
<param name="observer">
Object currently receiving the observer notifications.