Show / Hide Table of Contents

    Class RealmObject

    Base for any object that can be persisted in a Realm.

    Inheritance
    Object
    RealmObject
    Permission
    PermissionChange
    PermissionOffer
    PermissionOfferResponse
    Inherited Members
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace:Realms
    Assembly:Realm.dll
    Syntax
    [Preserve(AllMembers = true, Conditional = false)]
    public class RealmObject : INotifyPropertyChanged, ISchemaSource, IThreadConfined, NotificationsHelper.INotifiable

    Properties

    | Improve this Doc View Source

    IsManaged

    Gets a value indicating whether the object has been associated with a Realm, either at creation or via Add(RealmObject, Boolean).

    Declaration
    public bool IsManaged { get; }
    Property Value
    Type Description
    Boolean

    true if object belongs to a Realm; false if standalone.

    | Improve this Doc View Source

    IsValid

    Gets a value indicating whether this object is managed and represents a row in the database. If a managed object has been removed from the Realm, it is no longer valid and accessing properties on it will throw an exception. Unmanaged objects are always considered valid.

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

    true if managed and part of the Realm or unmanaged; false if managed but deleted.

    | Improve this Doc View Source

    ObjectSchema

    Gets the ObjectSchema instance that describes how the Realm this object belongs to sees it.

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

    A collection of properties describing the underlying schema of this object.

    Implements
    ISchemaSource.ObjectSchema
    | Improve this Doc View Source

    Realm

    Gets the Realm instance this object belongs to, or null if it is unmanaged.

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

    The Realm instance this object belongs to.

    Methods

    | Improve this Doc View Source

    Equals(Object)

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj
    Returns
    Type Description
    Boolean
    Overrides
    Object.Equals(Object)
    | Improve this Doc View Source

    Finalize()

    Declaration
    protected void Finalize()
    | Improve this Doc View Source

    OnManaged()

    Called when the object has been managed by a Realm.

    Declaration
    protected virtual void OnManaged()
    Remarks

    This method will be called either when a managed object is materialized or when an unmanaged object has been added to the Realm. It can be useful for providing some initialization logic as when the constructor is invoked, it is not yet clear whether the object is managed or not.

    | Improve this Doc View Source

    OnPropertyChanged(String)

    Called when a property has changed on this class.

    Declaration
    protected virtual void OnPropertyChanged(string propertyName)
    Parameters
    Type Name Description
    String propertyName

    The name of the property.

    Remarks

    For this method to be called, you need to have first subscribed to PropertyChanged. This can be used to react to changes to the current object, e.g. raising PropertyChanged for computed properties.

    Examples

    class MyClass : RealmObject
    {
        public int StatusCodeRaw { get; set; }
        public StatusCodeEnum StatusCode => (StatusCodeEnum)StatusCodeRaw;
        protected override void OnPropertyChanged(string propertyName)
        {
            if (propertyName == nameof(StatusCodeRaw))
            {
                RaisePropertyChanged(nameof(StatusCode));
            }
        }
    }
    Here, we have a computed property that depends on a persisted one. In order to notify any PropertyChanged subscribers that StatusCode has changed, we override OnPropertyChanged(String) and raise PropertyChanged manually by calling RaisePropertyChanged(String).

    | Improve this Doc View Source

    RaisePropertyChanged(String)

    Allows you to raise the PropertyChanged event.

    Declaration
    protected void RaisePropertyChanged(string propertyName = null)
    Parameters
    Type Name Description
    String propertyName

    The name of the property that has changed. If not specified, we'll use the caller name.

    Events

    | Improve this Doc View Source

    PropertyChanged

    Declaration
    public event PropertyChangedEventHandler PropertyChanged
    Event Type
    Type Description
    PropertyChangedEventHandler
    Implements
    INotifyPropertyChanged.PropertyChanged
    • Improve this Doc
    • View Source
    Back to top Copyright © 2017 Realm
    Generated by DocFX