클래스 RealmObjectBase
Realm 에서 지속될 수 있는 모든 객체의 기준입니다. 이 클래스에서 상속되는 모델은 컴파일 타임에 Fody 위버에 의해 처리됩니다. 대신 IRealmObject 에서 상속하고 Realm 소스 생성기를 사용하여 모델을 생성하는 것이 좋습니다.
네임스페이스: Realms
어셈블리: Realm.exe
구문
[Preserve(AllMembers = true)]
public abstract class RealmObjectBase : IRealmObjectBase, INotifyPropertyChanged, IReflectableType
속성
| 이 페이지 편집 소스 보기BacklinksCount
대일 또는 대다 관계를 통해 이를 참조하는 객체의 수를 가져옵니다.
선언
[IgnoreDataMember]
public int BacklinksCount { get; }
속성 값
유형 | 설명 |
---|---|
int | 이 객체를 참조하는 객체의 수입니다. |
비고
이 속성은 관찰할 수 없으므로 값이 변경되어도 PropertyChanged 이벤트가 발생하지 않습니다.
DynamicApi
이 RealmObjectBase 인스턴스에 대한 동적 API를 포함하는 객체를 가져옵니다.
선언
[IgnoreDataMember]
public DynamicObjectApi DynamicApi { get; }
속성 값
유형 | 설명 |
---|---|
DynamicObjectApi | 이 RealmObject를 래핑하는 Realms.Dynmic 인스턴스입니다. |
IsFrozen
이 객체가 고정되었는지 여부를 나타내는 값을 가져옵니다. 동결된 객체는 변경할 수 없으며 Realm에 쓰기가 수행될 때 업데이트되지 않습니다. 라이브 객체와 달리 동결 객체는 스레드 전체에서 사용할 수 있습니다.
선언
[IgnoreDataMember]
public bool IsFrozen { get; }
속성 값
유형 | 설명 |
---|---|
부울 |
|
다음도 참조하세요.
IsManaged
객체가 생성 시 또는 Add<T>(T, bool) 을 통해 객체가 Realm과 연결되었는지 여부를 나타내는 값을 가져옵니다.
선언
[IgnoreDataMember]
public bool IsManaged { get; }
속성 값
유형 | 설명 |
---|---|
부울 |
|
IsValid
이 객체가 managed 여부와 데이터베이스의 행을 나타내는 값을 가져옵니다. 만약 managed 객체가 Realm에서 제거된 경우, 해당 객체는 더 이상 유효하지 않으며 해당 객체의 속성에 액세스하면 예외가 발생합니다. 관리되지 않는 객체는 항상 유효한 것으로 간주됩니다.
선언
[IgnoreDataMember]
public bool IsValid { get; }
속성 값
유형 | 설명 |
---|---|
부울 |
|
객체 스키마
이 객체가 속한 Realm 이 이를 보는 방법을 설명하는 ObjectSchema 인스턴스를 가져옵니다.
선언
[IgnoreDataMember]
public ObjectSchema? ObjectSchema { get; }
속성 값
유형 | 설명 |
---|---|
객체 스키마 | 이 객체의 기본 스키마를 설명하는 collection 속성입니다. |
Realm
이 객체가 속한 Realm 인스턴스를 가져오거나 관리되지 않는 경우 null
을(를) 가져옵니다.
선언
[IgnoreDataMember]
public Realm? Realm { get; }
속성 값
유형 | 설명 |
---|---|
Realm | 이 객체가 속한 Realm 인스턴스입니다. |
방법
| 이 페이지 편집 소스 보기OnManaged()
객체가 Realm에서 managed될 때 호출됩니다.
선언
protected virtual void OnManaged()
비고
이 메서드는 managed 객체가 구체화되거나 관리되지 않는 객체가 Realm에 추가될 때 호출됩니다. 생성자가 호출될 때 object가 managed 여부가 아직 명확하지 않은 경우 일부 초기화 논리를 제공하는 데 유용할 수 있습니다.
OnPropertyChanged(문자열)
이 클래스의 속성이 변경될 때 호출됩니다.
선언
protected virtual void OnPropertyChanged(string propertyName)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | 속성 이름 | 속성의 이름입니다. |
비고
이 메서드를 호출하려면 먼저 PropertyChanged 를 구독해야 합니다. 이는 현재 객체의 변경 사항에 반응하는 데 사용할 수 있습니다. 계산된 속성에 대해 PropertyChanged 를 발생시킵니다.
예시
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));
}
}
}
여기에는 지속형 속성에 의존하는 계산된 속성이 있습니다. PropertyChanged 구독자에게 StatusCode
이(가) 변경되었음을 알리기 위해 OnPropertyChanged(string) 을(를) 재정의하고,RaisePropertyChanged(string) 을(를) 호출하여 수동으로 PropertyChanged 를 발생시킵니다.
RaisePropertyChanged(string)
PropertyChanged 이벤트를 발생시킬 수 있습니다.
선언
protected void RaisePropertyChanged(string propertyName = "")
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | 속성 이름 | 변경된 속성의 이름입니다. 지정하지 않으면 호출자 이름이 사용됩니다. |
ToString()
현재 객체를 나타내는 문자열을 반환합니다.
선언
public override string? ToString()
반환
유형 | 설명 |
---|---|
문자열 | 현재 객체를 나타내는 문자열입니다. |
재정의
이벤트
| 이 페이지 편집 소스 보기PropertyChanged
속성 값이 변경될 때 발생합니다.
선언
public event PropertyChangedEventHandler? PropertyChanged
eventType
유형 | 설명 |
---|---|
PropertyChangedEventHandler |