类 ObjectSchema.Builder
允许构造Object
继承成员
命名空间: Realm 。模式
程序集:Realm.dll
语法
public class ObjectSchema.Builder : SchemaBuilderBase<Property>, IEnumerable<Property>, IEnumerable
构造函数
| 编辑本页 查看源代码Builder(string, ObjectType)
使用提供的名称初始化Object
声明
public Builder(string name, ObjectSchema.ObjectType schemaType = ObjectType.RealmObject)
参数
类型 | 名称 | 说明 |
---|---|---|
字符串 | 名称 | 此构建器描述的Object |
Object |
schemaType | 此构建器描述的对象的Object |
异常
类型 | 条件 |
---|---|
Argument |
如果 |
Argument |
如果 |
Builder(Type)
初始化Objecttype
中的属性进行填充。
声明
public Builder(Type type)
参数
类型 | 名称 | 说明 |
---|---|---|
类型 | 类型 | 将用于填充构建器的类型。 它必须是Realm |
备注
如果要使用强类型 API,例如Realm.
完全支持添加新属性,但如果通过对象属性访问器访问这些属性,则删除或更改在类上定义的属性将导致引发运行时错误。
示例
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);
属性
| 编辑本页 查看源代码名称
获取或设置构建器描述的类的名称。
声明
public string Name { get; set; }
属性值
类型 | 说明 |
---|---|
字符串 | 类的名称。 |
RealmSchemaType
获取或设置一个值,该值指示此 Object
声明
public ObjectSchema.ObjectType RealmSchemaType { get; set; }
属性值
类型 | 说明 |
---|---|
Object |
对象模式的Object |
方法
| 编辑本页 查看源代码添加(属性)
向此 Object
声明
public ObjectSchema.Builder Add(Property item)
参数
返回:
类型 | 说明 |
---|---|
Object |
用于启用链式多个 Add(Property) 调用的原始 Object |
Build()
根据添加到此 Object
声明
public ObjectSchema Build()
返回:
类型 | 说明 |
---|---|
对象模式 | 一个不可变的Object |