Class RealmObject
Base for any object that can be persisted in a Realm.
Inherited Members
Namespace:Realms
Assembly:Realm.dll
Syntax
[Preserve(AllMembers = true, Conditional = false)]
public class RealmObject : IReflectableType, INotifyPropertyChanged
Properties
| Improve this Doc View SourceIsManaged
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 |
|
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 |
|
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. |
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 SourceEquals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Overrides
| Improve this Doc View SourceOnPropertyChanged(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 SourcePropertyChanged
Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
Type | Description |
---|---|
PropertyChangedEventHandler |
Implements
Explicit Interface Implementations
| Improve this Doc View SourceIReflectableType.GetTypeInfo()
Declaration
TypeInfo IReflectableType.GetTypeInfo()
Returns
Type | Description |
---|---|
TypeInfo |