クラス ObjectSchema.Builder
ObjectSchemaインスタンスを構築できる可変ビルダ。
継承されたノード
Namespace: Realms.Schema
組み立て: Realm.dll
構文
public class ObjectSchema.Builder : SchemaBuilderBase<Property>, IEnumerable<Property>, IEnumerable
コンストラクター
| このページを編集 ソースを表示Builder(string, ObjectType)
指定された名前でObjectSchema.Builderクラスの新しいインスタンスを初期化します。
宣言
public Builder(string name, ObjectSchema.ObjectType schemaType = ObjectType.RealmObject)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | name | このビルダが記述するObjectSchemaの名前。 |
ObjectSchema 。 ObjectType | schemaType | このビルダが記述するオブジェクトのObjectSchema.ObjectType 。 |
例外
タイプ | 条件 |
---|---|
ArgumentNullException |
|
ArgumentException |
|
Builder(Type)
提供されたtype
からのプロパティが入力されたObjectSchema.Builderクラスの新しいインスタンスを初期化します。
宣言
public Builder(Type type)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
タイプ | タイプ | ビルダにデータを入力するために使用されるタイプ。 RealmObject 、埋め込みオブジェクト 、またはAmetricObject継承者である必要があります。 |
コメント
Realm.Add<T> や Realm.All<T<T> >
など、厳密に型指定された API を使用する場合は、このメソッドを使用してスキーマを構築する必要があります。新しいプロパティの追加は完全にサポートされていますが、クラスに定義されているプロパティを削除または変更すると、それらのプロパティが オブジェクト プロパティ アサーションを介してアクセスされる場合、ランタイム エラーがスローされます。
例
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; }
プロパティ値
タイプ | 説明 |
---|---|
string | クラスの名前。 |
RealmSchemaType
この ObjectSchema.Builder が記述するオブジェクトの ObjectSchema.ObjectType を示す値を取得または設定します。
宣言
public ObjectSchema.ObjectType RealmSchemaType { get; set; }
プロパティ値
タイプ | 説明 |
---|---|
ObjectSchema 。 ObjectType | オブジェクトのスキーマのObjectSchema.ObjectType |
メソッド
| このページを編集 ソースを表示Add(プロパティ)
この ObjectSchema.Builder に新しい プロパティ を追加します。
宣言
public ObjectSchema.Builder Add(Property item)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
プロパティ | item | 追加するプロパティ。 |
戻り値
タイプ | 説明 |
---|---|
ObjectSchema 。ビルダ | 複数の Add(Property) 呼び出しの連鎖を有効にする元の ObjectSchema.Builder インスタンス。 |
Build()
宣言
public ObjectSchema Build()
戻り値
タイプ | 説明 |
---|---|
ObjectSchema | ObjectSchema.Builder に追加されたプロパティを含む不変の ObjectSchema インスタンス。 |