BasicProperties 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, IStorageItemExtraProperties
struct winrt::Windows::Storage::FileProperties::BasicProperties : IBasicProperties, IStorageItemExtraProperties
public sealed class BasicProperties : IBasicProperties, IStorageItemExtraProperties
Public NotInheritable Class BasicProperties Implements IBasicProperties, IStorageItemExtraProperties
// This class does not provide a public constructor.
Attributes
Windows 10 requirements
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:

Properties

DateModified DateModified DateModified DateModified DateModified

Gets the timestamp of the last time the file was modified.

ItemDate ItemDate ItemDate ItemDate ItemDate

Gets the most relevant date for the item.

Size Size Size Size Size

Gets the size of the file in bytes.

Methods

RetrievePropertiesAsync(IIterable<String>) RetrievePropertiesAsync(IIterable<String>) RetrievePropertiesAsync(IIterable<String>) RetrievePropertiesAsync(IIterable<String>) RetrievePropertiesAsync(IIterable<String>)

Retrieves the specified properties associated with the item.

SavePropertiesAsync() SavePropertiesAsync() SavePropertiesAsync() SavePropertiesAsync() SavePropertiesAsync()

Saves all properties associated with the item.

SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>>) SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>>) SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>>) SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>>) SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>>)

Saves the specified properties and values associated with the item.

See Also