RealmSchema 类
描述可以通过程序集声明或通过从磁盘动态评估 Realm 来存储在 Realm 中的完整类集。 要构造新的RealmSchema实例,请使用RealmSchema.Builder API。
默认情况下,这将是所有程序集中的所有IRealmObject 、 IEmbeddedObject和IAsymmetricObject 。 除非你使用Schema进行限制。 给定的类可能存储在 Realm 中并不意味着有太多开销。 会有少量元数据,但对象只有在写入后才开始占用空间。
命名空间: Realm 。模式
程序集:Realm.dll
语法
public class RealmSchema : IReadOnlyCollection<ObjectSchema>, IEnumerable<ObjectSchema>, IEnumerable
属性
| 编辑本页 查看源代码数数
获取模式中已知类的数量。
声明
public int Count { get; }
属性值
类型 | 说明 |
---|---|
int | 已知类的数量。 |
方法
| 编辑本页 查看源代码AddDefaultTypes(IEnumerable<Type>)
将collection添加到默认模式。
声明
public static void AddDefaultTypes(IEnumerable<Type> types)
参数
类型 | 名称 | 说明 |
---|---|---|
IEnumerable < Type > | 类型 | 要添加到默认模式中的类型。 |
异常
类型 | 条件 |
---|---|
NotSupportedException | 如果模式已经物化,则抛出此异常。 |
GetBuilder()
创建一个可变RealmSchema.Builder ,其中包含此 Realm 模式中的对象模式。
声明
public RealmSchema.Builder GetBuilder()
返回:
类型 | 说明 |
---|---|
RealmSchema 。生成器 | 一个RealmSchema.Builder实例,可用于更改模式,并最终通过调用Build() 生成新模式。 |
TryFindObjectSchema(string, out ObjectSchema)
尝试在此模式中查找类的定义。
声明
public bool TryFindObjectSchema(string name, out ObjectSchema schema)
参数
类型 | 名称 | 说明 |
---|---|---|
字符串 | 名称 | 此模式中可能存在的有效类名。 |
对象模式 | 模式 | 与提供的 |
返回:
类型 | 说明 |
---|---|
bool |
|
异常
类型 | 条件 |
---|---|
ArgumentException | 如果未提供名称,则抛出该错误。 |
操作符
| 编辑本页 查看源代码隐式操作符 RealmSchema?(ObjectSchema[]?)
从 ObjectSchema 实例数组构造 RealmSchema 。
声明
public static implicit operator RealmSchema?(ObjectSchema[]? objects)
参数
类型 | 名称 | 说明 |
---|---|---|
ObjectSchema [] | 对象 | 将包含在新建RealmSchema中的对象模式。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|
异常
类型 | 条件 |
---|---|
ArgumentException | 如果数组包含多个具有相同 Name 的 ObjectSchema 实例,则抛出该异常。 |
隐式操作符 RealmSchema?(Builder?)
一个便捷操作符,用于通过调用 Build() 方法从 RealmSchema.Builder 构造 RealmSchema 。
声明
public static implicit operator RealmSchema?(RealmSchema.Builder? builder)
参数
类型 | 名称 | 说明 |
---|---|---|
RealmSchema 。生成器 | 生成器 | 描述新创建的模式的构建器。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|
隐式操作符 RealmSchema?(HashSet<Type>?)
声明
public static implicit operator RealmSchema?(HashSet<Type>? objects)
参数
类型 | 名称 | 说明 |
---|---|---|
HashSet < Type > | 对象 | 将转换为 ObjectSchema 并添加到生成的 RealmSchema 中的 Type 。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|
另请参阅
| 编辑本页 查看源代码隐式操作符 RealmSchema?(List<ObjectSchema>?)
从 ObjectSchema 实例列表构造 RealmSchema 。
声明
public static implicit operator RealmSchema?(List<ObjectSchema>? objects)
参数
类型 | 名称 | 说明 |
---|---|---|
列表< ObjectSchema > | 对象 | 将包含在新建RealmSchema中的对象模式。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|
异常
类型 | 条件 |
---|---|
ArgumentException | 如果列表包含多个具有相同Name的ObjectSchema实例,则抛出该异常。 |
隐式操作符 RealmSchema?(List<Type>?)
声明
public static implicit operator RealmSchema?(List<Type>? objects)
参数
类型 | 名称 | 说明 |
---|---|---|
列表<类型> | 对象 | 将转换为 ObjectSchema 并添加到生成的 RealmSchema 中的 Type 。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|
另请参阅
| 编辑本页 查看源代码隐式操作符 RealmSchema?(Type[]?)
声明
public static implicit operator RealmSchema?(Type[]? objects)
参数
类型 | 名称 | 说明 |
---|---|---|
键入[] | 对象 | 将转换为 ObjectSchema 并添加到生成的 RealmSchema 中的 Type 。 |
返回:
类型 | 说明 |
---|---|
Realm 模式 |
|