Assembly.GetManifestResourceStream(name)是否在每次调用时返回一个新流?

时间:2011-10-11 13:47:33

标签: c# .net assemblies

文档GetManifestResourceStream不清楚同一资源的多次调用。每个调用都保证一个独立的流实例吗?

原因:知道是否应该担心并发使用。

2 个答案:

答案 0 :(得分:3)

鉴于流是有状态的,如果两个调用收到相同的Stream引用,我将高度感到惊讶。听到两个流都可以同时存储到同一位内存中会让我感到惊讶,但这应该对调用者隐藏起来。

我认为假设流是独立的是合理的。

答案 1 :(得分:3)

internal unsafe Stream GetManifestResourceStream(string name, ref StackCrawlMark stackMark, bool skipSecurityCheck)
{
    // blahblah
    //...
    return new UnmanagedMemoryStream(pointer, (long) length, (long) length, FileAccess.Read, true);
}

所以,是的。如果没有,那将很难使用。