Interface WinRT'的目的是什么;IStorageFolder接口?

Interface WinRT'的目的是什么;IStorageFolder接口?,interface,windows-runtime,storagefolder,Interface,Windows Runtime,Storagefolder,由于WinRT同时公开了IStorageFolder接口和StorageFolder类,我的反射就是在整个代码中使用该接口。我推断,IStorageFolder可以作为一个抽象来支持非文件系统文件夹,比如压缩档案中的文件夹。但是,查看IStorageFolder界面,每个方法都声明返回具体的StorageFolder实例。因此,不可能基于此接口实现虚拟文件系统 那么,IStorageFolder如何成为有用的抽象呢?或者它的存在有技术上的理由吗?它是一个接口,因为有两个实现IStorageFol

由于WinRT同时公开了
IStorageFolder
接口和
StorageFolder
类,我的反射就是在整个代码中使用该接口。我推断,
IStorageFolder
可以作为一个抽象来支持非文件系统文件夹,比如压缩档案中的文件夹。但是,查看
IStorageFolder
界面,每个方法都声明返回具体的
StorageFolder
实例。因此,不可能基于此接口实现虚拟文件系统


那么,
IStorageFolder
如何成为有用的抽象呢?或者它的存在有技术上的理由吗?

它是一个接口,因为有两个实现
IStorageFolder
:一个是,另一个是。因为有两种实现,所以常见的行为使用一个接口,这样您就可以编写一个在
StorageFolder
FolderInformation
上运行的函数。这是一个接口,因为
IStorageFolder
有两种实现:一种是,另一种是。由于有两种实现,常见的行为使用一个接口,这样您就可以编写一个函数,在
StorageFolder
FolderInformation

上运行。所有新型COM类都有匹配的接口(您可以通过使用ildasm打开Windows.winmd来验证这一点),所以我大胆猜测,这一个正好被曝光。@zneak我以为它可能是一个COM的东西,但没有意识到它是如此普遍化。这些接口中的哪一个是公开的似乎有点随机。我想结论是使用接口没有意义。回答一下,我就接受了。所有新型的COM类都有匹配的接口(你可以通过使用ildasm打开Windows.winmd来验证),所以我冒昧地猜测这一个正好被公开了。@zneak我以为这可能是COM的东西,但没有意识到它是如此普遍化。这些接口中的哪一个是公开的似乎有点随机。我想结论是使用接口没有意义。回答一下,我就接受。