gpt4 book ai didi

c# - GetManifestResourceStream - 它如何帮助缓存?

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:12 26 4
gpt4 key购买 nike

我在我的 wpf 应用程序中搜索了嵌入自定义拖放光标。我最终得到了一个 article我不知道建议的代码中有一行(用注释突出显示):

   private void textBlock2_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
TextBlock btn = (TextBlock)sender;

GiveFeedbackEventHandler handler = new GiveFeedbackEventHandler(DragSource_GiveFeedback);
btn.GiveFeedback += handler;


DataObject dataObj = new DataObject(btn.Text);
DragDrop.DoDragDrop(btn, dataObj, DragDropEffects.Move);
btn.GiveFeedback -= handler;

}

void DragSource_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
try
{
if (_allOpsCursor == null)
{

////////////////////////////////////////THE UNKOWN ONE LINE STARTS HERE
using (Stream cursorStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("SimplestDragDrop.DDIcon.cur")) // AND ENDS HERE
{
_allOpsCursor = new Cursor(cursorStream);
}
}
Mouse.SetCursor(_allOpsCursor);

e.UseDefaultCursors = false;
e.Handled = true;
}
finally { }
}

我检查了GetManifestResourceStream ,但我仍然不知道 mainfest 资源是什么,如何处理它以及从哪里开始让这个缓存想法(在主要文章中提到)发挥作用。

最佳答案

您的程序集作为在 CLR 下执行的 AppDomain 的一部分加载到内存中。因此,如果资源作为编译过程的一部分嵌入到程序集中,使用流读取内存中的字节数组比必须去磁盘打开文件、读取其内容、关闭文件更快.

替代方法是在源代码中存储表示资源的字节数组,尽管您或多或少会使用 GetManifestResourceStream 到达相同的位置。

关于c# - GetManifestResourceStream - 它如何帮助缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com