Search Results for

    Show / Hide Table of Contents

    Interface IRealmCollection<T>

    Iterable, sortable collection of one kind of RealmObjectBase resulting from All<T>() or from a LINQ query expression.

    Inherited Members
    IReadOnlyList<T>.Item[Int32]
    IReadOnlyCollection<T>.Count
    IEnumerable<T>.GetEnumerator()
    INotifyCollectionChanged.CollectionChanged
    INotifyPropertyChanged.PropertyChanged
    Namespace: Realms
    Assembly: Realm.dll
    Syntax
    public interface IRealmCollection<out T> : IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
    Type Parameters
    Name Description
    T

    Type of the RealmObject, EmbeddedObject, or primitive which is being returned.

    Properties

    | Improve this Doc View Source

    IsFrozen

    Gets a value indicating whether this collection is frozen. Frozen collections are immutable and can be accessed from any thread. The objects read from a frozen collection will also be frozen.

    Declaration
    bool IsFrozen { get; }
    Property Value
    Type Description
    Boolean

    true if the collection is frozen and immutable; false otherwise.

    | Improve this Doc View Source

    IsValid

    Gets a value indicating whether this collection is still valid to use, i.e. the Realm instance hasn't been closed and, if it represents a to-many relationship, it's parent object hasn't been deleted.

    Declaration
    bool IsValid { get; }
    Property Value
    Type Description
    Boolean

    true if the collection is valid to use; false otherwise.

    | Improve this Doc View Source

    ObjectSchema

    Gets the ObjectSchema, describing the persisted properties of the RealmObjects or EmbeddedObjects contained in the collection. If the collection contains primitive values, ObjectSchema will be null.

    Declaration
    ObjectSchema ObjectSchema { get; }
    Property Value
    Type Description
    ObjectSchema

    The ObjectSchema of the object or contained objects.

    | Improve this Doc View Source

    Realm

    Gets the Realm instance this collection belongs to.

    Declaration
    Realm Realm { get; }
    Property Value
    Type Description
    Realm

    The Realm instance this collection belongs to.

    Methods

    | Improve this Doc View Source

    Contains(Object)

    Determines whether an element is in the IRealmCollection<T>.

    Declaration
    bool Contains(object item)
    Parameters
    Type Name Description
    Object item

    The object to locate in the IRealmCollection<T>.

    Returns
    Type Description
    Boolean

    true if item is found in the IRealmCollection<T>; otherwise, false.

    | Improve this Doc View Source

    Freeze()

    Creates a frozen snapshot of this collection. The frozen copy can be read and queried from any thread.

    Freezing a collection also creates a frozen Realm which has its own lifecycle, but if the live Realm that spawned the original collection is fully closed (i.e. all instances across all threads are closed), the frozen Realm and collection will be closed as well.

    Frozen collections can be queried as normal, but trying to mutate it in any way or attempting to register a listener will throw a RealmFrozenException.

    Note: Keeping a large number of frozen objects with different versions alive can have a negative impact on the filesize of the Realm. In order to avoid such a situation it is possible to set MaxNumberOfActiveVersions.

    Declaration
    IRealmCollection<T> Freeze()
    Returns
    Type Description
    IRealmCollection<T>

    A frozen copy of this collection.

    See Also
    Freeze<T>(IList<T>)
    Freeze<T>(IQueryable<T>)
    | Improve this Doc View Source

    IndexOf(Object)

    Searches for the specified object and returns the zero-based index of the first occurrence within the entire IRealmCollection<T>.

    Declaration
    int IndexOf(object item)
    Parameters
    Type Name Description
    Object item

    The object to locate in the IRealmCollection<T>.

    Returns
    Type Description
    Int32

    The zero-based index of the first occurrence of item within the entire IRealmCollection<T>, if found; otherwise, –1.

    | Improve this Doc View Source

    SubscribeForNotifications(NotificationCallbackDelegate<T>)

    Register a callback to be invoked each time this IRealmCollection<T> changes.

    Declaration
    IDisposable SubscribeForNotifications(NotificationCallbackDelegate<T> callback)
    Parameters
    Type Name Description
    NotificationCallbackDelegate<T> callback

    The callback to be invoked with the updated IRealmCollection<T>.

    Returns
    Type Description
    IDisposable

    A subscription token. It must be kept alive for as long as you want to receive change notifications. To stop receiving notifications, call Dispose().

    Remarks

    The callback will be asynchronously invoked with the initial IRealmCollection<T>, and then called again after each write transaction which changes either any of the objects in the collection, or which objects are in the collection. The changes parameter will be null the first time the callback is invoked with the initial results. For each call after that, it will contain information about which rows in the results were added, removed or modified.

    If a write transaction did not modify any objects in this IRealmCollection<T>, the callback is not invoked at all. If an error occurs the callback will be invoked with null for the sender parameter and a non-null error. Currently the only errors that can occur are when opening the Realm on the background worker thread.

    At the time when the block is called, the IRealmCollection<T> object will be fully evaluated and up-to-date, and as long as you do not perform a write transaction on the same thread or explicitly call Refresh(), accessing it will never perform blocking work.

    Notifications are delivered via the standard event loop, and so can't be delivered while the event loop is blocked by other activity. When notifications can't be delivered instantly, multiple notifications may be coalesced into a single notification. This can include the notification with the initial collection.

    See Also
    SubscribeForNotifications<T>(IList<T>, NotificationCallbackDelegate<T>)
    SubscribeForNotifications<T>(IQueryable<T>, NotificationCallbackDelegate<T>)
    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2020 Realm
    Generated by DocFX