クラス RealmObjectBase
Realmで永続化できるオブジェクトのベース。 このクラスから継承するモデルは、コンパイル時に Fortune ウィーバーによって処理されます。 代わりに、 IRealmObjectから継承し、Realm ソース ジェネレーターを使用してモデルを生成することをお勧めします。
Namespace: Realms
組み立て: Realm.dll
構文
[Preserve(AllMembers = true)]
public abstract class RealmObjectBase : IRealmObjectBase, INotifyPropertyChanged, IReflectableType
プロパティ
| このページを編集 ソースを表示バックリンクカウント
対 1 または対多の関係で、この 1 つを参照するオブジェクトの数を取得します。
宣言
[IgnoreDataMember]
public int BacklinksCount { get; }
プロパティ値
タイプ | 説明 |
---|---|
整数 | このオブジェクトを参照するオブジェクトの数。 |
コメント
このプロパティは観察できないため、値が変更されたときにProperty Changedイベントは起動しません。
DynamicApi
この RealmObjectBase インスタンスの 動的 API を含むオブジェクトを取得します。
宣言
[IgnoreDataMember]
public DynamicObjectApi DynamicApi { get; }
プロパティ値
タイプ | 説明 |
---|---|
DynamicObjectApi | この RealmObject をラップするRealms.Dynameインスタンス。 |
IsFrozen
このオブジェクトが固定されているかどうかを示す値を取得します。 凍結されたオブジェクトは不変であり、Realm に書込みが行われても更新されません。 ライブオブジェクトと違い、固定オブジェクトはスレッド全体で使用できます。
宣言
[IgnoreDataMember]
public bool IsFrozen { get; }
プロパティ値
タイプ | 説明 |
---|---|
ブール |
|
その他の参照
IsManaged
オブジェクトが Realm に関連付けられているかどうかを示す値を、作成時またはAdd<T>(T、ブール値)によって取得します。
宣言
[IgnoreDataMember]
public bool IsManaged { get; }
プロパティ値
タイプ | 説明 |
---|---|
ブール |
|
IsValid
このオブジェクトが管理されているかどうか、およびデータベース内の行を表しているかどうかを示す値を取得します。 管理対象オブジェクトが Realm から削除された場合、そのオブジェクトは有効ではなくなり、その プロパティにアクセスすると例外がスローされます。 管理されていないオブジェクトは、常に有効と見なされます。
宣言
[IgnoreDataMember]
public bool IsValid { get; }
プロパティ値
タイプ | 説明 |
---|---|
ブール |
|
ObjectSchema
このオブジェクトが属する Realm がそれを認識する方法を記述する ObjectSchema インスタンスを取得します。
宣言
[IgnoreDataMember]
public ObjectSchema? ObjectSchema { get; }
プロパティ値
タイプ | 説明 |
---|---|
ObjectSchema | このオブジェクトの基礎となるスキーマを記述するプロパティのコレクション。 |
Realm
このオブジェクトが属するRealmインスタンスを取得します。管理されていない場合はnull
を取得します。
宣言
[IgnoreDataMember]
public Realm? Realm { get; }
プロパティ値
タイプ | 説明 |
---|---|
Realm | このオブジェクトが属するRealmインスタンス。 |
メソッド
| このページを編集 ソースを表示OnManaged()
オブジェクトが Realm によって管理されているときに呼び出されます。
宣言
protected virtual void OnManaged()
コメント
このメソッドは、管理対象のオブジェクトがマテリアライズド化されたとき、または管理されていないオブジェクトが Realm に追加されたときに呼び出されます。 コンストラクターが呼び出されるときに、オブジェクトが管理されているかどうかがまだ明確になっていないため、いくつかの初期化ロジックを提供すると便利です。
OnPropertychanged(string)
このクラスでプロパティが変更されたときに呼び出されます。
宣言
protected virtual void OnPropertyChanged(string propertyName)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | propertiesName | プロパティの名前。 |
コメント
このメソッドを呼び出すには、まずPropertychangedをサブスクライブする必要があります。 これは、現在のReactに対する変更を操作するために使用できます。例: 計算されたプロパティのProperty Changedを発生させます。
例
class MyClass : RealmObject
{
public int StatusCodeRaw { get; set; }
public StatusCodeEnum StatusCode => (StatusCodeEnum)StatusCodeRaw;
protected override void OnPropertyChanged(string propertyName)
{
if (propertyName == nameof(StatusCodeRaw))
{
RaisePropertyChanged(nameof(StatusCode));
}
}
}
ここで、永続化されたプロパティに依存する計算プロパティがあります。 StatusCode
が変更されたことをPropertyCheckedサブスクライブに通知するために、 OnPropertyChecked(string)をオーバーライドし、 RailsPropertyChecked(string) を呼び出してPropertyCheckedを手動で発生させます。
accumulatePropertyChecked(string)
Propertychanged イベントを発生させることができるようになります。
宣言
protected void RaisePropertyChanged(string propertyName = "")
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | propertiesName | 変更されたプロパティの名前。 指定されていない場合は、呼び出し元の名前が使用されます。 |
ToString()
現在のオブジェクトを表す string を返します。
宣言
public override string? ToString()
戻り値
タイプ | 説明 |
---|---|
string | 現在のオブジェクトを表す string。 |
の上書き
イベント
| このページを編集 ソースを表示Property Changed
プロパティ値が変更されたときに発生します。
宣言
public event PropertyChangedEventHandler? PropertyChanged
eventType
タイプ | 説明 |
---|---|
PropertychangedEventHandler |