MetadataReference.CreateFromStream Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает ссылку на сборку с одним модулем или автономный модуль из данных в указанном потоке. Считывает содержимое потока в память и закрывает поток по возвращении.
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
Ссылочные свойства (псевдонимы extern, внедрение типов, MetadataImageKind).
- documentation
- DocumentationProvider
Предоставляет XML-документацию по символам, найденным в ссылке.
- filePath
- String
Необязательный путь, описывающий расположение метаданных. Файл не должен существовать на диске. Путь непрозрачн к компилятору.
Возвращаемое значение
Исключения
peStream
не поддерживает операции чтения и поиска.
Параметр peStream
имеет значение null.
Произошла ошибка при чтении потока.
Комментарии
Вопросы производительности:
Рекомендуется использовать или CreateFromStream(Stream, PEStreamOptions) API CreateFromStream(Stream, PEStreamOptions) при создании нескольких ссылок на одни и те же метаданные. Повторное использование Metadata объекта для создания нескольких ссылок позволяет совместно использовать данные между этими ссылками.
Метод с нетерпением считывает все содержимое peStream
в собственную кучу. Собственный блок памяти освобождается, когда результирующая ссылка становится недоступной, и сборщик мусора собирает его. Чтобы уменьшить объем памяти ссылки и (или) управлять временем существования детерминированным способом использования CreateFromStream(Stream, PEStreamOptions) для создания IDisposable объекта метаданных и GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) получения ссылки на него.