BasicProperties
BasicProperties
BasicProperties
BasicProperties
Class
Definition
Provides access to the basic properties, like the size of the item or the date the item was last modified, of the item (like a file or folder).
public : sealed class BasicProperties : IBasicProperties, IStorageItemExtraPropertiespublic sealed class BasicProperties : IBasicProperties, IStorageItemExtraPropertiesPublic NotInheritable Class BasicProperties Implements IBasicProperties, IStorageItemExtraProperties// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Examples
The File access sample demonstrates how to retrieve properties of a file, including basic properties like Size and DateModified.
try
{
StorageFile file = rootPage.sampleFile;
if (file != null)
{
StringBuilder outputText = new StringBuilder();
// Get basic properties
BasicProperties basicProperties = await file.GetBasicPropertiesAsync();
outputText.AppendLine("File size: " + basicProperties.Size + " bytes");
outputText.AppendLine("Date modified: " + basicProperties.DateModified);
// Specify more properties to retrieve
readonly string dateAccessedProperty = "System.DateAccessed";
readonly string fileOwnerProperty = "System.FileOwner";
List<string> propertiesName = new List<string>();
propertiesName.Add(dateAccessedProperty);
propertiesName.Add(fileOwnerProperty);
// Get the specified properties through StorageFile.Properties
IDictionary<string, object> extraProperties = await file.Properties.RetrievePropertiesAsync(propertiesName);
var propValue = extraProperties[dateAccessedProperty];
if (propValue != null)
{
outputText.AppendLine("Date accessed: " + propValue);
}
propValue = extraProperties[fileOwnerProperty];
if (propValue != null)
{
outputText.AppendLine("File owner: " + propValue);
}
}
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
// For example, handle a file not found error
}
var file = SdkSample.sampleFile;
if (file !== null) {
var outputDiv = document.getElementById("output");
// Get top level file properties
outputDiv.innerHTML = "Filename: " + file.name + "<br/>";
outputDiv.innerHTML += "File type: " + file.fileType + "<br/>";
// Get basic properties
file.getBasicPropertiesAsync().then(function (basicProperties) {
outputDiv.innerHTML += "Size: " + basicProperties.size + " bytes<br/>";
outputDiv.innerHTML += "Date modified: " + basicProperties.dateModified + "<br/>";
// Get extra properties
return file.properties.retrievePropertiesAsync([fileOwnerProperty, dateAccessedProperty]);
}).done(function (extraProperties) {
var propValue = extraProperties[dateAccessedProperty];
if (propValue !== null) {
outputDiv.innerHTML += "Date accessed: " + propValue + "<br/>";
}
propValue = extraProperties[fileOwnerProperty];
if (propValue !== null) {
outputDiv.innerHTML += "File owner: " + propValue;
}
},
// Handle errors with an error function
function (error) {
// Handle errors encountered while retrieving properties
});
}
After GetBasicPropertiesAsync completes, basicProperties gets a BasicProperties object.
In the example, file contains a StorageFile that represents the file to retrieve properties for.
Remarks
You can access a BasicProperties object asynchronously using the GetBasicPropertiesAsync method of an item (like a file of folder), or synchronously using the BasicProperties property if it is available.
You can get a BasicProperties object using any of the following methods and properties:
- storageFile.getBasicPropertiesAsync method
- storageFolder.getBasicPropertiesAsync method
- FileInformation.basicProperties property
- FolderInformation.basicProperties property
Properties
DateModified DateModified DateModified DateModified
Gets the timestamp of the last time the file was modified.
public : DateTime DateModified { get; }public DateTimeOffset DateModified { get; }Public ReadOnly Property DateModified As DateTimeOffset// You can use this property in JavaScript.
- Value
- DateTime DateTimeOffset DateTimeOffset DateTimeOffset
The timestamp.
Remarks
If the date property isn't set, this value defaults to 0 which can be translated into misleading dates in different programming languages. In JavaScript, for example, 0 translates to December 16, 1600. You should always check that this property is a real value and not 0.
ItemDate ItemDate ItemDate ItemDate
Gets the most relevant date for the item.
public : DateTime ItemDate { get; }public DateTimeOffset ItemDate { get; }Public ReadOnly Property ItemDate As DateTimeOffset// You can use this property in JavaScript.
- Value
- DateTime DateTimeOffset DateTimeOffset DateTimeOffset
The item's date.
The system determines the most relevant date based on the type of the item. For example, if the item is a photo the date in System.Photo.DateTaken is returned. Or if the item is a song the date in System.Media.DateReleased is returned.
Remarks
This property lets you get the most relevant date for an item without the need to access item-specific properties.
Methods
RetrievePropertiesAsync(IIterable)
RetrievePropertiesAsync(IIterable)
RetrievePropertiesAsync(IIterable)
RetrievePropertiesAsync(IIterable)
Retrieves the specified properties associated with the item.
public : IAsyncOperation<IMap<PlatForm::String, PlatForm::Object>> RetrievePropertiesAsync(IIterable<PlatForm::String> propertiesToRetrieve)public IAsyncOperation<IDictionary<string, object>> RetrievePropertiesAsync(IEnumerable<String> propertiesToRetrieve)Public Function RetrievePropertiesAsync(propertiesToRetrieve As IEnumerable<String>) As IAsyncOperation( Of IDictionarystring, object )// You can use this method in JavaScript.
- propertiesToRetrieve
- IIterable<PlatForm::String> IEnumerable<String> IEnumerable<String> IEnumerable<String>
A collection that contains the names of the properties to retrieve.
When this method completes successfully, it returns a collection (type IMap ) that contains the specified properties and values as key-value pairs.
Remarks
In JavaScript, use then or done to specify handler functions that will capture and process the collection when it is returned.
SavePropertiesAsync() SavePropertiesAsync() SavePropertiesAsync() SavePropertiesAsync()
Saves all properties associated with the item.
public : IAsyncAction SavePropertiesAsync()public IAsyncAction SavePropertiesAsync()Public Function SavePropertiesAsync() As IAsyncAction// You can use this method in JavaScript.
No object or value is returned when this method completes.
Remarks
If any one of the property values is invalid, none of the values will be saved.
- See Also
-
SavePropertiesAsync(IIterable<>>)
SavePropertiesAsync(IIterable<>>)
SavePropertiesAsync(IIterable<>>)
SavePropertiesAsync(IIterable<>>)
Saves the specified properties and values associated with the item.
public : IAsyncAction SavePropertiesAsync(IIterable<IKeyValuePair<PlatForm::String, PlatForm::Object>> propertiesToSave)public IAsyncAction SavePropertiesAsync(IEnumerable<KeyValuePair<String, Object>> propertiesToSave)Public Function SavePropertiesAsync(propertiesToSave As IEnumerable<KeyValuePair<String, Object>>) As IAsyncAction// You can use this method in JavaScript.
- propertiesToSave
- IIterable<IKeyValuePair<PlatForm::String, PlatForm::Object>> IEnumerable<KeyValuePair<String, Object>> IEnumerable<KeyValuePair<String, Object>> IEnumerable<KeyValuePair<String, Object>>
A collection that contains the names and values of the properties to save as key-value pairs (type IKeyValuePair ).
No object or value is returned when this method completes.
- See Also