Nullable: System.Runtime.InteropServices.CustomMarshalers/WindowsRuntime (#23930)
[platform/upstream/coreclr.git] / src / System.Private.CoreLib / src / System / Runtime / InteropServices / WindowsRuntime / IIterable.cs
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4
5 #nullable enable
6 using System.Collections.Generic;
7
8 // Windows.Foundation.Collections.IIterable`1 cannot be referenced from managed code because it's hidden
9 // by the metadata adapter. We redeclare the interface manually to be able to talk to native WinRT objects.
10
11 namespace System.Runtime.InteropServices.WindowsRuntime
12 {
13     [ComImport]
14     [Guid("faa585ea-6214-4217-afda-7f46de5869b3")]
15     [WindowsRuntimeImport]
16     internal interface IIterable<T> : IEnumerable<T>
17     {
18         IIterator<T> First();
19     }
20
21     [ComImport]
22     [Guid("036d2c08-df29-41af-8aa2-d774be62ba6f")]
23     [WindowsRuntimeImport]
24     internal interface IBindableIterable
25     {
26         IBindableIterator First();
27     }
28 }