MetadataReference.CreateFromStream 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从指定流中的数据创建对单模块程序集或独立模块的引用。 将流的内容读取到内存中,并在返回时关闭流。
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider documentation = default, string filePath = default);
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider? documentation = default, string? filePath = default);
static member CreateFromStream : System.IO.Stream * Microsoft.CodeAnalysis.MetadataReferenceProperties * Microsoft.CodeAnalysis.DocumentationProvider * string -> Microsoft.CodeAnalysis.PortableExecutableReference
Public Shared Function CreateFromStream (peStream As Stream, Optional properties As MetadataReferenceProperties = Nothing, Optional documentation As DocumentationProvider = Nothing, Optional filePath As String = Nothing) As PortableExecutableReference
参数
- peStream
- Stream
程序集映像。
- properties
- MetadataReferenceProperties
引用属性 (外部别名、类型嵌入、 MetadataImageKind) 。
- documentation
- DocumentationProvider
为在引用中找到的符号提供 XML 文档。
- filePath
- String
描述元数据位置的可选路径。 该文件不需要存在于磁盘上。 路径对编译器不透明。
返回
例外
peStream
不支持读取和查找操作。
peStream
为 null。
读取流时出错。
注解
性能注意事项:
建议在创建对同一元数据的多个引用时使用 CreateFromStream(Stream, PEStreamOptions) 或 CreateFromStream(Stream, PEStreamOptions) API。 Metadata重用对象创建多个引用允许跨这些引用共享数据。
该方法会急切地将整个内容 peStream
读入本机堆。 当生成的引用无法访问并且 GC 收集它时,将释放本机内存块。 若要减少引用的内存占用,/或管理生存期确定性地用于 CreateFromStream(Stream, PEStreamOptions) 创建 IDisposable 元数据对象并 GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) 获取对它的引用。