Classe FrozenObjectsExtensions
Um conjunto de métodos de extensão sobre RealmObjectBase.
namespace: Realms
Conjunto: Realm.exe
Sintaxe
public static class FrozenObjectsExtensions
Métodos
| Editar esta página Ver fonteCongelar<TValue>(IDictionary<string, tvalue>)
Cria um snapshot congelado deste dicionário. A cópia congelada pode ser lida em qualquer thread. Se o dicionário não for managed, um RealmException será lançado.
Congelar um dicionário também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou o conjunto original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estão fechadas), o Realm e o dicionário congelados também serão fechados. Os dicionários congelados podem ser lidos e iterados normalmente, mas tentar modificá-lo de qualquer forma ou tentar assinar notificações gerará um RealmFrozenException. Observação: manter um grande número de objetos congelados com diferentes versões vivos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir MaxNumberOfAtiveVersions.Declaração
public static IDictionary<string, TValue> Freeze<TValue>(this IDictionary<string, TValue> dictionary)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IDictionary<string,TValue> | Dicionário | O dicionário do qual você deseja criar uma cópia congelada. |
Devoluções
Tipo | Descrição |
---|---|
IDictionary<string,TValue> | Uma cópia congelada deste dicionário. |
Parâmetros de tipo
Nome | Descrição |
---|---|
TValue | O tipo dos valores armazenados no dicionário. |
Congelar<T>(IList<T>)
Cria um snapshot congelado desta lista. A cópia congelada pode ser lida e iterada a partir de qualquer thread. Se a lista não for managed, um RealmException será lançado.
Congelar uma lista também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou a lista original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estiverem fechadas), o Realm congelado e a lista também serão fechados. As listas congeladas podem ser lidas e iteradas normalmente, mas tentar modificá-las de qualquer forma ou tentar assinar notificações lançará um RealmFrozenException. Observação: manter um grande número de objetos congelados com diferentes versões vivos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir MaxNumberOfAtiveVersions.Declaração
public static IList<T> Freeze<T>(this IList<T> list)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IList<T> | Lista | A lista da qual você deseja criar uma cópia congelada. |
Devoluções
Tipo | Descrição |
---|---|
IList<T> | Uma cópia congelada desta lista. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | Tipo dos elementos na lista. |
Congelar<T>(ISet<T>)
Cria um snapshot congelado deste conjunto. A cópia congelada pode ser lida em qualquer thread. Se o conjunto não for gerenciado, uma RealmException será lançada.
Congelar um conjunto também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou o conjunto original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estão fechadas), o Realm congelado e o conjunto também serão fechados. Os conjuntos congelados podem ser lidos e iterados normalmente, mas tentar modificá-los de qualquer forma ou tentar assinar notificações lançará um RealmFrozenException. Observação: manter um grande número de objetos congelados com diferentes versões vivos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir MaxNumberOfAtiveVersions.Declaração
public static ISet<T> Freeze<T>(this ISet<T> set)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
ISet<T> | set | O conjunto do qual você deseja criar uma cópia congelada. |
Devoluções
Tipo | Descrição |
---|---|
ISet<T> | Uma cópia congelada deste conjunto. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo dos elementos no conjunto. |
Congelar<T>(IQueryable<T>)
Cria um snapshot congelado desta query. A cópia congelada pode ser lida e query de qualquer thread. Se a query não for managed (ou seja, não um resultado da invocação All<T>() ), uma RealmException será lançada.
Congelar uma query também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou a query original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estiverem fechadas), o Realm congelado e a query também serão fechadas. As query congeladas podem ser lidas e iteradas normalmente, mas tentar modificá-las de qualquer forma ou tentar assinar notificações lançará um RealmFrozenException. Observação: manter um grande número de objetos congelados com diferentes versões vivos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir MaxNumberOfAtiveVersions.Declaração
public static IQueryable<T> Freeze<T>(this IQueryable<T> query) where T : IRealmObjectBase
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IQueryable<T> | Query | A query da qual você deseja criar uma cópia congelada. |
Devoluções
Tipo | Descrição |
---|---|
IQueryable<T> | Uma cópia congelada desta query. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo dos elementos na query. |
Congelar<T>(T)
Retorna um snapshot congelado deste objeto. A cópia congelada pode ser lida e consultada de qualquer thread sem lançar uma exceção.
Congelar uma RealmObjectBase também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm ativo que gerou o objeto original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estão fechadas), o Realm e o objeto congelados também serão fechados. Objeto congelados podem ser query normalmente, mas tentar modificá-lo de qualquer forma ou tentar assinar notificações lançará um RealmFrozenException. Observação: manter um grande número de objetos congelados com diferentes versões vivos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir MaxNumberOfAtiveVersions.Declaração
public static T Freeze<T>(this T realmObj) where T : IRealmObjectBase
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
t | realmObj | A instância IRealmObject, IEmbeddedObject ou IAsymmetricObject da qual você deseja criar uma versão congelada. |
Devoluções
Tipo | Descrição |
---|---|
t | Uma nova instância congelada do objeto passado ou do próprio objeto se ele já estiver congelado. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo do IRealmObject/IEmbeddedObject/IAsymmetricObject. |