BasicProperties BasicProperties BasicProperties BasicProperties Class

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).

Syntax

Declaration

public sealed class BasicPropertiespublic sealed class BasicPropertiesPublic NotInheritable Class BasicPropertiespublic sealed class BasicProperties

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:

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.

Properties summary

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

Gets the most relevant date for the item.

Gets the size of the file in bytes.

Methods summary

Retrieves the specified properties associated with the item.

Saves all properties associated with the item.

Saves the specified properties and values associated with the item.

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 DateTimeOffsetpublic DateTime DateModified { get; }

    Property Value

    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 DateTimeOffsetpublic DateTime ItemDate { get; }

    Property Value

    Remarks

    This property lets you get the most relevant date for an item without the need to access item-specific properties.

  • Size
    Size
    Size
    Size

    Gets the size of the file in bytes.

    public ulong Size { get; }public ulong Size { get; }Public ReadOnly Property Size As ulongpublic ulong Size { get; }

    Property Value

    • ulong
      ulong
      ulong
      ulong

      The size of the file in bytes.

Methods

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

    Retrieves the specified properties associated with the item.

    public IAsyncOperation<IMap<string, object>> RetrievePropertiesAsync(IIterable<String> propertiesToRetrieve)public IAsyncOperation<IMap<string, object>> RetrievePropertiesAsync(IIterable<String> propertiesToRetrieve)Public Function RetrievePropertiesAsync(propertiesToRetrieve As IIterable<String>) As IAsyncOperation( Of IMapstring, object )public IAsyncOperation<IMap<string, object>> RetrievePropertiesAsync(IIterable<String> propertiesToRetrieve)

    Parameters

    • propertiesToRetrieve

      A collection that contains the names of the properties to retrieve.

    Returns

    • When this method completes successfully, it returns a collection (type IMap<K, V> ) 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 IAsyncActionpublic IAsyncAction SavePropertiesAsync()

    Returns

    Remarks

    If any one of the property values is invalid, none of the values will be saved.

  • 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.

    public IAsyncAction SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>> propertiesToSave)public IAsyncAction SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>> propertiesToSave)Public Function SavePropertiesAsync(propertiesToSave As IIterable<IKeyValuePair<String, Object>>) As IAsyncActionpublic IAsyncAction SavePropertiesAsync(IIterable<IKeyValuePair<String, Object>> propertiesToSave)

    Parameters

    • propertiesToSave

      A collection that contains the names and values of the properties to save as key-value pairs (type IKeyValuePair<K, V> ).

    Returns

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.MuseAttribute

Details

Assembly

Windows.Storage.FileProperties.dll