Classe ObjectSchema.Builder
Um construtor mutável que permite construir uma instância do ObjectSchema .
Membros herdados
namespace: Realms.Esquema
Conjunto: Realm.exe
Sintaxe
public class ObjectSchema.Builder : SchemaBuilderBase<Property>, IEnumerable<Property>, IEnumerable
Construtores
| Editar esta página Ver fonteBuilder(string, ObjectType)
Inicializa uma nova instância da classe ObjectSchema.Builder com o nome fornecido.
Declaração
public Builder(string name, ObjectSchema.ObjectType schemaType = ObjectType.RealmObject)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | name | O nome do ObjectSchema que este construtor descreve. |
ObjectSchema.ObjectType | schemaType | O ObjectSchema.ObjectType do objeto que este construtor descreve. |
Exceções
Tipo | Condição |
---|---|
ArgumentNullException | Lançado se |
ArgumentException | Lançado se |
Builder(Type)
Inicializa uma nova instância da classe ObjectSchema.Builder preenchida com propriedades do type
fornecido.
Declaração
public Builder(Type type)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Tipo | type | O Tipo que será usado para preencher o construtor. Deve ser um RealmObject, um EmbeddedObject ou um sucessor AsymmetricObject . |
Observações
Se você quiser usar a API fortemente digitada, como Realm.Add<T> ou Realm.All<T>, deverá usar este método para construir o esquema.
A adição de novas propriedades é totalmente suportada, mas remover ou alterar propriedades definidas na classe resultará na lançamento de erros de tempo de execução se essas propriedades forem acessadas por meio dos acessadores de propriedades de objeto.
Exemplos
class Person : RealmObject
{
public string Name { get; set; }
}
var personSchema = new Builder(typeof(Person));
// someTagsCollection is a collection of tags determined at runtime - e.g. obtained
// from a REST API.
foreach (var tag in someTagsCollection)
{
personSchema.Add(Property.Primitive(tag, RealmValueType.Bool));
}
var config = new RealmConfiguration
{
Schema = new[] { personSchema.Build() }
}
using var realm = Realm.GetInstance(config);
// Query for all people with a particular tag
var tag = "Tall";
var matches = realm.All<Person>().Filter($"{tag} = TRUE");
// Get/set the tag of a particular person
var hasTag = person.DynamicApi.Get<bool>(tag);
person.DynamicApi.Set(tag, true);
Propriedades
| Editar esta página Ver fonteNome
Obtém ou define o nome da classe descrita pelo construtor.
Declaração
public string Name { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
string | O nome da classe. |
RealmSchemaType
Obtém ou define um valor que indica o ObjectSchema.ObjectType do objeto que este ObjectSchema.Builder descreve.
Declaração
public ObjectSchema.ObjectType RealmSchemaType { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
ObjectSchema.ObjectType | ObjectSchema.ObjectType do esquema do objeto. |
Métodos
| Editar esta página Ver fonteAdicionar(Property)
Adiciona uma nova propriedade a este ObjectSchema.Builder.
Declaração
public ObjectSchema.Builder Add(Property item)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Propriedade | item | A propriedade a ser adicionada. |
Devoluções
Tipo | Descrição |
---|---|
ObjectSchema.Builder | A instância original do ObjectSchema.Builder para permitir o encadeamento de várias chamadas Add(Property) . |
Build()
Constrói um ObjectSchema a partir das propriedades adicionadas a este ObjectSchema.Builder.
Declaração
public ObjectSchema Build()
Devoluções
Tipo | Descrição |
---|---|
Esquema de objetos | Uma instância imutável do ObjectSchema que contém as propriedades adicionadas ao ObjectSchema.Builder. |