QueryOptions 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
스토리지 폴더의 내용을 열거하기 위한 검색 쿼리의 매개 변수를 지정합니다.
public ref class QueryOptions sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class QueryOptions final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class QueryOptions final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class QueryOptions
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class QueryOptions
function QueryOptions(query, fileTypeFilter)
Public NotInheritable Class QueryOptions
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
예제
이 예제에서는 QueryOptions를 사용하여 위치의 파일을 쿼리하는 방법을 보여 줍니다.
// Set query options with filter and sort order for results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".jpg");
fileTypeFilter.Add(".png");
fileTypeFilter.Add(".bmp");
fileTypeFilter.Add(".gif");
var queryOptions = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);
// Create query and retrieve files
var query = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();
// Process results
foreach (StorageFile file in fileList)
{
// Process file
}
이 예제에서는 시스템 인덱스에 의해 뒷받침되는 파일 쿼리를 사용하여 다른 앱의 속성 처리기(예: Title 문서 속성)에 의존할 수 있는 속성을 검색하는 방법을 보여 줍니다.
try
{
// Create index backed file query and get results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".png");
QueryOptions queryOptions = new QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
queryOptions.IndexerOption = IndexerOption.OnlyUseIndexer;
StorageFileQueryResult queryResult = Windows.Storage.KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
var files = await queryResult.GetFilesAsync();
// Process resulting files
if (files.Count == 0)
{
// Perform tasks to handle no files found
}
else
{
// Access properties for each file
foreach (StorageFile file in files)
{
var documentProperties = await file.Properties.GetDocumentPropertiesAsync();
// Perform tasks with document properties
String title = documentProperties.Title;
}
}
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
// For example, handle a file not found error
}
설명
액세스할 수 있는 폴더와 StorageFolder로 가져올 수 있는 폴더에 대한 파일 쿼리를 만들 수 있습니다.
QueryOptions 및 CreateFileQueryWithOptions 를 사용하여 다른 앱의 속성 처리기를 사용하는 속성을 가져올 수 있는 인덱싱된 백업 파일 쿼리를 만들 수 있습니다.
생성자
QueryOptions() |
스토리지 항목을 열거하기 위한 QueryOptions 클래스의 instance 만들고 QueryOptions.FolderDepth가 FolderDepth.Shallow 및 QueryOptions.IndexerOptions를 가져오면 IndexerOption.DoNotUseIndexer라는 기본 설정을 사용하여 초기화합니다. 이전 옵션이 있는 QueryOptions 개체는 위치의 파일 및 폴더에 대한 폴더별 단순 열거형을 제공합니다. 기본적으로 폴더는 파일 앞에 열거되고 파일과 폴더는 모두 이름으로 사전순으로 정렬됩니다. |
QueryOptions(CommonFileQuery, IIterable<String>) |
파일을 열거하기 위한 QueryOptions 클래스의 instance 만들고 지정된 CommonFileQuery에서 제공하는 값과 쿼리 결과에 포함할 파일을 결정하는 선택적 파일 형식 필터로 초기화합니다. |
QueryOptions(CommonFolderQuery) |
하위 폴더를 열거하기 위한 QueryOptions 클래스의 instance 만들고 지정된 CommonFolderQuery를 기반으로 값을 사용하여 초기화합니다. |
속성
ApplicationSearchFilter |
키워드 또는 속성별로 파일을 필터링하기 위한 애플리케이션 정의 AQS(고급 쿼리 구문) 문자열을 가져오거나 설정합니다. 이 속성은 UserSearchFilter 와 결합하여 쿼리의 검색 필터를 만듭니다. |
DateStackOption |
Date에 따라 CommonFolderQuery를 사용하여 QueryOptions 개체를 만든 경우 파일을 폴더로 그룹화하는 데 사용되는 시간 단위를 가져옵니다. 예를 들어 CommonFolderQuery.GroupByYear 를 사용하여 QueryOptions 개체를 만드는 경우 이 속성의 값은 DateStackOption.Year입니다. |
FileTypeFilter |
검색 결과를 필터링하는 데 사용되는 파일 이름 확장명 목록을 가져옵니다. 목록이 비어 있으면 결과에 모든 파일 형식이 포함됩니다. |
FolderDepth |
검색 쿼리가 폴더 내용의 단순 보기 또는 모든 파일 및 하위 폴더의 심층 재귀 뷰를 생성해야 하는지 여부를 나타냅니다. |
GroupPropertyName |
CommonFolderQuery를 사용하여 QueryOptions 개체를 만든 경우 쿼리 결과를 그룹화하는 데 사용되는 속성의 이름을 가져옵니다. 예를 들어 CommonFolderQuery.GroupByYear 를 사용하여 QueryOptions 개체를 만드는 경우 이 속성의 값은 System.ItemDate입니다. |
IndexerOption |
시스템 인덱스 또는 파일 시스템이 쿼리 결과를 검색하는 데 사용되는지 여부를 지정하는 값을 가져오거나 설정합니다. 인덱서는 결과를 더 빠르게 검색할 수 있지만 모든 파일 위치에서는 사용할 수 없습니다. |
Language |
쿼리와 연결된 언어를 식별하는 IETF(Internet Engineering Task Force) 언어 태그(BCP47 표준)를 가져오거나 설정합니다. 이는 시스템에서 쿼리를 개별 검색 토큰으로 분할하는 데 사용하는 언어별 알고리즘을 결정합니다. |
SortOrder |
쿼리 결과에서 콘텐츠(예: 파일 및 하위 폴더)를 정렬하는 방법을 지정하는 SortEntry 구조의 목록을 가져옵니다. 이 목록을 사용하여 쿼리 결과가 정렬되는 방식을 사용자 지정합니다. |
StorageProviderIdFilter |
스토리지 공급자 식별자에 대한 필터를 가져옵니다. |
UserSearchFilter |
키워드 또는 속성별로 파일을 필터링하기 위한 사용자 정의 AQS(고급 쿼리 구문) 문자열을 가져오거나 설정합니다. 이 속성은 ApplicationSearchFilter 와 결합하여 쿼리의 검색 필터를 만듭니다. |
메서드
LoadFromString(String) |
SaveToString 메서드에서 만든 문자열로 지정된 검색 매개 변수를 사용하여 QueryOptions 클래스의 현재 instance 초기화합니다. |
SaveToString() |
QueryOptions 개체의 값을 LoadFromString을 호출하여 QueryOptions 개체의 값을 초기화하는 데 사용할 수 있는 문자열로 변환합니다. |
SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>) |
쿼리가 실행되는 동안(대/소문자 단위로 검색하는 대신) 쿼리 결과 집합의 모든 항목에 대해 시스템이 미리 로드해야 하는 속성을 지정합니다. 많은 속성을 지정하면 쿼리를 실행하는 데 시간이 더 오래 걸릴 수 있지만 쿼리 결과에 대한 후속 속성 검색 속도가 빨라집니다. |
SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions) |
항목에 액세스할 때 시스템에서 즉시 로드를 시작해야 하는 미리 보기의 유형과 크기를 지정합니다(대/소문자 단위로 검색하는 대신). 이렇게 하면 더 많은 리소스를 사용하지만 쿼리 결과에서 미리 보기를 더 빠르게 검색할 수 있습니다. |