IPropertyDatabaseView.TryLoad(in PropertyDatabaseRecordKey,out object)
Параметры
| Параметр | Описание |
|---|---|
| recordKey | Ключ записи. |
| данные | Значение недвижимости. |
Возвращаемое значение
void True, если запись найдена и действительна, false в противном случае.
Описание
Загружает одно свойство, уже разрядованное в объект.
// Load the value already deserialized.
using (var view = propertyDatabase.GetView())
{
var colorRecordKey = view.CreateRecordKey("path/to/my/asset", "m_Color");
if (!view.TryLoad(colorRecordKey, out object colorObject))
Assert.Fail("Failed to load color property.");
var color = (Color)colorObject;
Assert.AreEqual(new Color(1, 0, 1), color);
}
Дополнительные ресурсы: ,IPropertyDatabaseView.CreateRecordKey,.
Параметры
| Параметр | Описание |
|---|---|
| recordKey | Ключ записи. |
| данные | Регистр свойства. |
Возвращаемое значение
void True, если запись найдена и действительна, false в противном случае.
Описание
Загружает одно свойство, все еще содержащееся в записи.
Этот метод не десериализует значение. Вы должны десериализовать его сами, вызвав IPropertyDatabaseView.GetObjectFromRecordValue.
// Load the record value to do a deserialization at the appropriate time.
using (var view = propertyDatabase.GetView())
{
var sizeRecordKey = view.CreateRecordKey("path/to/my/asset", "m_Size");
if (!view.TryLoad(sizeRecordKey, out IPropertyDatabaseRecordValue sizeRecordValue))
Assert.Fail("Failed to load size property.");
var size = view.GetValueFromRecord<int>(sizeRecordValue);
Assert.AreEqual(42, size);
}
Дополнительные ресурсы: ,IPropertyDatabaseView.CreateRecordKey,.
Declaration
public bool TryLoad(ulong documentKey, out IEnumerable<object> data);Параметры
| Параметр | Описание |
|---|---|
| documentKey | Ключ документа. |
| данные | Значения свойств документа. |
Возвращаемое значение
логическое True, если запись найдена и действительна, false в противном случае.
Описание
Загружает все свойства документа, уже разрядившиеся в объекты.
// Load all values not associated with a document, already deserialized.
using (var view = propertyDatabase.GetView())
{
var nullDocumentKey = view.CreateDocumentKey(null);
if (!view.TryLoad(nullDocumentKey, out IEnumerable<object> noDocumentProperties))
Assert.Fail("Failed to load properties with no documents.");
Assert.IsNotEmpty(noDocumentProperties);
Assert.AreEqual("myDocs_", noDocumentProperties.First());
}
Дополнительные ресурсы: ,IPropertyDatabaseView.CreateDocumentKey,.
Declaration
public bool TryLoad(ulong documentKey, out IEnumerable<IPropertyDatabaseRecord> records);Параметры
| Параметр | Описание |
|---|---|
| documentKey | Ключ документа. |
| записи | Записи свойств документа. |
Возвращаемое значение
логическое True, если запись найдена и действительна, false в противном случае.
Описание
Загружает все свойства документа, которые все еще содержатся в записях.
Этот метод не десериализует значения. Вы должны десериализовать их сами, вызвав IPropertyDatabaseView.GetObjectFromRecordValue.
// Load all values associated with a document, not deserialized.
using (var view = propertyDatabase.GetView())
{
var myAssetDocumentKey = view.CreateDocumentKey("path/to/my/asset");
if (!view.TryLoad(myAssetDocumentKey, out IEnumerable<IPropertyDatabaseRecord> myDocumentRecords))
Assert.Fail("Failed to load records for my asset document.");
var deserializedValues = new Dictionary<PropertyDatabaseRecordKey, object>();
foreach (var myDocumentRecord in myDocumentRecords)
{
var value = view.GetValueFromRecord<object>(myDocumentRecord.value);
deserializedValues.Add(myDocumentRecord.key, value);
}
Assert.AreEqual(5, deserializedValues.Count);
}
Дополнительные ресурсы: ,IPropertyDatabaseView.CreateDocumentKey,.