Classe RealmObjectBase
Base para qualquer objeto que possa ser persistido em um Realm. Os modelos herdados desta classe serão processados no momento da compilação pelo tecelão Fody. É recomendável que você herde de IRealmObject e use o Realm Source Gerador para gerar seus modelos.
namespace: Realms
Conjunto: Realm.exe
Sintaxe
[Preserve(AllMembers = true)]
public abstract class RealmObjectBase : IRealmObjectBase, INotifyPropertyChanged, IReflectableType
Propriedades
| Editar esta página Ver fonteBacklinksCount
Obtém o número de objeto que se referem a este por meio de um relacionamento para-um ou para-muitos.
Declaração
[IgnoreDataMember]
public int BacklinksCount { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
int | O número de objetos que se referem a este. |
Observações
Esta propriedade não é observável, portanto, o evento PropertyChanged não será disparado quando seu valor for alterado.
API dinâmica
Obtém um objeto abrangendo a API dinâmica para esta instância do RealmObjectBase.
Declaração
[IgnoreDataMember]
public DynamicObjectApi DynamicApi { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
API de objetos dinâmicos | Uma instância de Realms.Dynamic que envolve este RealmObject. |
IsFrozen
Obtém um valor indicando se o objeto está congelado. Objeto congelados são imutáveis e não serão atualizados quando gravações forem feitas no Realm. Ao contrário dos objetos ativos, os objetos congelados podem ser usados em threads.
Declaração
[IgnoreDataMember]
public bool IsFrozen { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
bool |
|
Veja também
IsManaged
Obtém um valor indicando se o objeto foi associado a um Realm, seja na criação ou por meio de Add<T>(T, bool).
Declaração
[IgnoreDataMember]
public bool IsManaged { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
bool |
|
IsValid
Obtém um valor que indica se este managed é managed e representa uma linha no reconhecimento de data center. Se um objeto managed tiver sido removido do Realm, ele não será mais válido, e o acesso à propriedade dele lançará uma exceção. Objeto não gerenciados são sempre considerados válidos.
Declaração
[IgnoreDataMember]
public bool IsValid { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
bool |
|
Esquema de objetos
Obtém a instância do ObjectSchema que descreve como o Realm ao qual este objeto pertence o vê.
Declaração
[IgnoreDataMember]
public ObjectSchema? ObjectSchema { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Esquema de objetos | Uma collection de propriedade que descrevem o esquema subjacente deste objeto. |
Realm
Obtém a Instância de Realm à qual este objeto pertence ou null
se ela não for gerenciada.
Declaração
[IgnoreDataMember]
public Realm? Realm { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Realm | A Instância de Realm à qual este objeto pertence. |
Métodos
| Editar esta página Ver fonteOnManaged()
Chamado quando o objeto foi managed por um Realm.
Declaração
protected virtual void OnManaged()
Observações
Este método será chamado quando um managed objeto for materializado ou quando um objeto não gerenciado tiver sido adicionado ao Realm. Pode ser útil para fornecer alguma lógica de inicialização, pois quando o construtor é invocado, ainda não está claro se o objeto é gerenciado ou não.
OnPropertyChanged(string)
Chamado quando uma propriedade foi alterada nesta classe.
Declaração
protected virtual void OnPropertyChanged(string propertyName)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | Nome da propriedade | O nome da propriedade. |
Observações
Para que esse método seja chamado, você precisa primeiro ter se inscrito no PropertyChanged. Isso pode ser usado para React a alterações no objeto atual, por exemplo criando PropertyChanged para propriedades computadas.
Exemplos
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));
}
}
}
Aqui, temos uma propriedade computada que depende de uma propriedade persistente. Para notificar os assinantes do PropertyChanged de que StatusCode
foi alterado, substituímos OnPropertyChanged(string) e aumentamos o PropertyChanged manualmente, chamando Aumentar PropertyChanged (string).
AumentarPropertyChanged(string)
Permite que você gere o evento PropertyChanged.
Declaração
protected void RaisePropertyChanged(string propertyName = "")
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | Nome da propriedade | O nome da propriedade que foi alterado. Se não for especificado, usaremos o nome do chamador. |
ToString()
Retorna uma string que representa o objeto atual.
Declaração
public override string? ToString()
Devoluções
Tipo | Descrição |
---|---|
string | Uma string que representa o objeto atual. |
Substitui
Eventos
| Editar esta página Ver fontePropertyChanged
Ocorre quando o valor de uma propriedade muda.
Declaração
public event PropertyChangedEventHandler? PropertyChanged
eventType
Tipo | Descrição |
---|---|
PropertyChangedEventHandler |