Interface IRealmCollection<T>
Collection iterável e classificável que é a base para todas as collection retornadas pelo Realm.
Membros herdados
namespace: Realms
Conjunto: Realm.exe
Sintaxe
public interface IRealmCollection<out T> : IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Parâmetros de tipo
Nome | Descrição |
---|---|
t | Tipo do valor contido na coleção. |
Propriedades
| Editar esta página Ver fonteIsFrozen
Obtém um valor indicando se esta coleção está congelada. As coleções congeladas são imutáveis e podem ser acessadas de qualquer thread. Os objetos lidos de uma coleção congelada também serão congelados.
Declaração
bool IsFrozen { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
bool |
|
IsValid
Obtém um valor que indica se essa collection ainda é válida para uso, ou seja, a Instância de Realm não foi fechada e, se ela representa um relacionamento para muitos, seu objeto pai não foi excluído.
Declaração
bool IsValid { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
bool |
|
Esquema de objetos
Obtém o Objectnull
.
Declaração
ObjectSchema? ObjectSchema { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Esquema de objetos | O esquema do objeto contidos na collection. |
Realm
Obtém a Instância de Realm à qual esta collection pertence.
Declaração
Realm Realm { get; }
Valor da propriedade
Métodos
| Editar esta página Ver fonteContém(objeto?)
Determina se um elemento está na IRealm
Declaração
bool Contains(object? item)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
objeto | item | O objeto a localizar no IRealm |
Devoluções
Tipo | Descrição |
---|---|
bool | verdadeiro se o item for encontrado na IRealm |
Congelar()
Cria um snapshot congelado desta coleção. A cópia congelada pode ser lida e query de qualquer thread.
Congelar uma coleção também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou a coleção original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estiverem fechadas), o Realm congelado e a collection também serão fechadas. As coleções congeladas podem ser consultadas normalmente, mas tentar modificá-las de qualquer forma ou tentar registrar um ouvinte lançará um RealmDeclaração
IRealmCollection<out T> Freeze()
Devoluções
Tipo | Descrição |
---|---|
IRealm |
Uma cópia congelada desta collection. |
Veja também
IndexOf(objeto?)
Procura o objeto especificado e retorna o índice baseado em zero da primeira ocorrência em todo o IRealm
Declaração
int IndexOf(object? item)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
objeto | item | O objeto a localizar no IRealm |
Devoluções
Tipo | Descrição |
---|---|
int | O índice baseado em zero da primeira ocorrência do item dentro de todo o IRealm |
SubscribeForNotifications(NotificationCallbackDelegate<T>, KeyPathsCollection?)
Registre uma chamada de resposta para ser invocada sempre que esse IRealm
Declaração
IDisposable SubscribeForNotifications(NotificationCallbackDelegate<out T> callback, KeyPathsCollection? keyPathCollection = null)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Notification |
chamada de resposta | A chamada de resposta a ser invocada com o IRealm |
Key |
keyPathCollection | Uma coleção opcional de caminhos principais que indica quais alterações nas propriedades devem gerar uma notificação. |
Devoluções
Tipo | Descrição |
---|---|
IDisposable | Um token de inscrição. Ele deve ser mantido ativo enquanto você quiser receber notificações de alteração. Para parar de receber notificações, ligue para Dispose(). |
Observações
A chamada de resposta será invocada de forma assíncrona com o IRealmchanges
será null
na primeira vez que a chamada de resposta for invocada com os resultados iniciais. Para cada chamada posterior, ela conterá informações sobre quais linhas dos resultados foram adicionadas, removidas ou modificadas.
Quando a coleção contém objetos de Realm, é possível passar um Key
Se uma transação de escrita não modificou nenhum objeto nessa IRealm
No momento em que o bloco é chamado, o objeto IRealm
As notificações são entregues por meio do loop de eventos padrão e, portanto, não podem ser entregues enquanto o loop de eventos estiver bloqueado por outra atividade. Quando as notificações não podem ser entregues instantaneamente, várias notificações podem ser agrupadas em uma única notificação. Isso pode incluir a notificação com a collection inicial.