小编Ale*_*sky的帖子

在ThisAddIn_Startup之前加载自定义功能区,但是我想在那里初始化一些东西 - 最好的解决方案?

我正在开发一个带有自己的功能区选项卡的Word加载项.我的大多数实际代码都包含在一些Service类中,这些类在ThisAddIn_Startup中初始化并分配给ThisAddIn单例对象的属性.我还有一个事件监听器,它监听我希望作为同一对象的属性向其余代码公开的剪贴板事件.

我遇到的问题是我的功能区的Load事件在ThisAddIn的Startup事件之前触发(即使单例对象已经初始化并分配给Globals.ThisAddIn).在我的Ribbon的Load事件处理程序中,我想在该侦听器上安装一个处理程序,并使用其中一个服务.但是,我不能,因为在程序执行的这一点上,它们是空的.

这个问题的最佳解决方案是什么?我可以让所有这些东西成为ThisAddIn的静态成员并在静态构造函数中初始化它们,但这似乎是错误的,并且还破坏了拥有Startup事件(或单个对象)的全部意义.

奇怪的是,当我的Ribbon刚刚将其组件添加到内置的Add-In选项卡时,我最初没有遇到此问题 - 然后在Startup之后触发了Load事件.

(注意:我在Visual Studio 2012中使用功能区设计器完成所有这些操作.)

c# vsto add-in ms-office

7
推荐指数
1
解决办法
2760
查看次数

一组(非不相交)集的数据结构

我正在寻找一个大致对应的数据结构(用Java术语)Map<Set<int>, double>.基本上是一组标记的大理石,其中每组大理石与标量相关联.我希望它能够有效地处理以下操作:

  • 为每个集添加一个给定的整数.
  • 删除包含(或不包含)给定整数的每个集合,或者至少将关联的double设置为0.
  • 联合两个地图,将两个中出现的集合的双打加在一起.
  • 将所有双打乘以给定的双精度数.
  • 很少,迭代整个地图.

在以下条件下:

  • 整数将在一个约束范围内(1到10,000左右); 确切的范围将在编译时知道.
  • 范围内的大多数整数(80-90%)将永远不会被使用,但是在计算结束之前哪些整数将不容易确定.
    • 使用的整数数量几乎总是超过100.
  • 许多集合将非常相似,只有少数几个元素不同.
  • 有可能识别经常仅按顺序出现的某些整数组:例如,如果一个集合包含整数27和29,那么它(几乎?)当然也包含28.
    • 可以在运行计算之前识别这些组.
    • 这些组通常有100个左右的整数.

我已经考虑过尝试,但是我没有看到处理"删除包含给定整数的每个集合"操作的好方法.

此数据结构的目的是表示离散随机变量,并允许对它们进行加法,乘法和标量乘法运算.这些离散随机变量中的每一个最终都是通过将这些操作应用于固定的(在编译时)一组独立的伯努利随机变量(即每个以一定概率取值1或0)来创建的.

被建模的系统接近于可表示为时间不均匀的马尔可夫链(当然这将极大地简化)但不幸的是,跟踪各种转换以来的持续时间是必要的.

algorithm data-structures

7
推荐指数
1
解决办法
632
查看次数

我不关心缓存或性能 - 任何我不应该使用嵌入式CSS的原因?

作为我工作的一部分,我维护/开发内部Web应用程序.它的用户相对较少,而且不是那么大.我有一个包含一些重用样式的全局CSS文件,但是90%的特定于页面的样式确实是特定于页面的.它们就像伪列宽(我的很多输出只是非表格式,足以使表格成为糟糕的选择).我已经开始在这些页面的顶部抛出一个<style>块.

我知道这是不受欢迎的,但每当我读到单独的CSS文件的原因时,唯一真正突出的是缓存.在这种情况下无所谓; 如果我需要加快应用程序的速度,那就是我要做的事情清单.还有其他原因,还是我可以不再感到愧疚?

html css

4
推荐指数
1
解决办法
88
查看次数

标签 统计

add-in ×1

algorithm ×1

c# ×1

css ×1

data-structures ×1

html ×1

ms-office ×1

vsto ×1