클래스 ObjectSchema.Builder
Object
상속된 멤버
네임스페이스: Realms.스키마
어셈블리: Realm.exe
구문
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 |
|
빌더(Type)
제공된 type
의 속성으로 채워진 Object
선언
public Builder(Type type)
매개변수
유형 | 이름 | 설명 |
---|---|---|
유형 | 유형 | 빌더를 채우는 데 사용할 유형 입니다. Realm |
비고
Realm.Add 또는 Realm.All<T > 와 같은 강력한 형식의 API를 사용하려면 <T> 이 메서드를 사용하여
스키마를<T> 작성해야 합니다. 새 속성 추가는 완벽하게 지원되지만 클래스에 정의된 속성을 제거하거나 변경하면 객체 속성 접근자를 통해 해당 속성에 액세스하는 경우 런타임 오류가 발생합니다.
예시
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 |
방법
| 이 페이지 편집 소스 보기Add(Property)
선언
public ObjectSchema.Builder Add(Property item)
매개변수
반환
유형 | 설명 |
---|---|
Object |
여러 Add(Property) 호출을 연결할 활성화 하는 원본 Object |
Build()
선언
public ObjectSchema Build()
반환
유형 | 설명 |
---|---|
객체 스키마 | Object |