C# 属性分配执行太慢
这些作业C# 属性分配执行太慢,c#,wpf,C#,Wpf,这些作业 dtSubBefore2 = DateTime.Now; if (entryAfterNode != null) //if (entryBefore.targetNode.Path_SetAttributes == entryAfterNode.Path_1_Original) { entryAfterNode.task7 = enTasks.SetAttributes; entryAfterNode.Path_SetAttributes = entryBefor
dtSubBefore2 = DateTime.Now;
if (entryAfterNode != null)
//if (entryBefore.targetNode.Path_SetAttributes == entryAfterNode.Path_1_Original)
{
entryAfterNode.task7 = enTasks.SetAttributes;
entryAfterNode.Path_SetAttributes = entryBefore.targetNode.Path_SetAttributes;
entryAfterNode.Path_SetCopyOrAttributesSource = entryBefore.targetNode.Path_SetCopyOrAttributesSource;
entryAfterNode.Path_SetAttributesSourceBase = entryBefore.targetNode.Path_SetAttributesSourceBase;
entryAfterNode.Path_SetAttributesBase = entryBefore.targetNode.Path_SetAttributesBase;
entryAfterNode.SetFileAttributes = entryBefore.targetNode.SetFileAttributes;
// SetAttributes can set bActivated!! (because not inheritted from BeforeView)
entryAfterNode.bActivated = entryBefore.targetNode.bActivated;
}
dtSubAfter2 = DateTime.Now;
大约5-10毫秒,这对我来说很慢。属性以一种复杂的方式可视化,我将循环使用此代码多达10万次。
是否有方法在循环完成之前停用属性可视化,然后更新属性可视化以使其更快 或者我必须在不更改属性的情况下创建额外属性吗
我仍然可以使用
UpdateLayout
更新所有内容吗?我们不知道setter和getter都在做什么,所以我们无法判断什么需要很长时间。我们不知道在调用setter时是否会触发其他事件,等等。一个简短但完整的程序演示了这个问题,在这里有很长的路要走……entryBefore.targetNode是如何实现的?这可能是瓶颈吗?如果尝试var target=entryBefore.targetNode
然后在设置过程中使用该目标,这有帮助吗?