我正在尝试将文本放在RibbonApplicationMenu的顶层(尝试获取类似于Word或Outlook的"文件"一词).似乎Microsoft.Windows.Controls.Ribbon.RibbonApplicationMenu http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbonapplicationmenu.aspx支持SmallImageSource但没有文本属性.设置该Label属性不适用于此问题.
xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
<ribbon:RibbonApplicationMenu Label="File"> <!--doesn't set the label -->
</ribbon:RibbonApplicationMenu>
Run Code Online (Sandbox Code Playgroud)
目标是在下面的圆圈区域中显示"文件"一词.

如果我只想索引一个类型的实例,应该使用什么C#接口?我不需要(或想要)添加/删除/编辑元素的功能.枚举是可以的.这需要自定义IIndexable类型吗?
在这种情况下IList是过度杀伤,因为它强制实现我不想拥有的成员.
我有一个foreach循环,我正在并行化,我注意到一些奇怪的东西.代码看起来像
double sum = 0.0;
Parallel.ForEach(myCollection, arg =>
{
sum += ComplicatedFunction(arg);
});
// Use sum variable below
Run Code Online (Sandbox Code Playgroud)
当我使用常规foreach循环时,我会得到不同的结果.内部可能存在更深层次的内容,ComplicatedFunction但sum变量可能会受到并行化的意外影响?
有没有人知道在Fortran中以一定的毫秒数睡眠的方法?我不想使用非便携式系统调用,因此Fortran或C库固有的任何东西都是首选.
我有一个工厂方法来构建实现的对象IDisposable.最终,调用者可以管理创建对象的生命周期.这种设计引发了一堆CA2000错误.在我的设计中是否存在根本不正确的东西,是否需要重构,还是仅仅对静态代码分析警告过于兴奋?
工厂方法
public static DisposableType BuildTheDisposableType(string param1, int param2)
{
var theDisposable = new DisposableType();
// Do some work to setup theDisposable
return theDisposable
}
Run Code Online (Sandbox Code Playgroud)
来电者
using(var dt = FactoryClass.BuildTheDisposableType("data", 4))
{
// use dt
}
Run Code Online (Sandbox Code Playgroud) 如果我通过Collection属性公开内部成员:
public Collection<T> Entries
{
get { return new Collection<T>(this.fieldImplimentingIList<T>); }
}
Run Code Online (Sandbox Code Playgroud)
调用此属性时会发生什么?例如,调用以下代码行时会发生什么:
T test = instanceOfAbove.Entries[i];
instanceOfAbove[i] = valueOfTypeT;
Run Code Online (Sandbox Code Playgroud)
很明显,每次调用此属性时,都会创建一个新的引用类型,但实际上会发生什么?它只是简单地包装在IList<T>底部,它是否枚举IList<T>并创建一个新Collection<T>实例?如果在for循环中使用此属性,我会关注性能.
我有一个Dictionary<int, object> 在int是的属性obj.有没有更好的数据结构?我觉得使用属性是关键是多余的.
这Dictionary<int, obj>是容器类中的一个字段,允许obj根据intid号随机索引值.容器类中的简化(无异常处理)索引器如下所示:
obj this[int id]
{
get{ return this.myDictionary[id];}
}
Run Code Online (Sandbox Code Playgroud)
myDictionary前面Dictionary<int, obj>拿着物体在哪里.
这可能是快速随机访问的典型方式,但我想获得第二意见.
我有一个具有ReadOnlyCollection属性的类.我需要将ReadOnlyCollection转换为int [].如何才能做到这一点?是否可以在不迭代集合的情况下执行此操作?
我有一个类型的泛型类T.在这个类中,我有一个方法,我需要将一个类型T与另一个类型进行比较,T例如:
public class MyClass<T>
{
public T MaxValue
{
// Implimentation for MaxValue
}
public T MyMethod(T argument)
{
if(argument > this.MaxValue)
{
// Then do something
}
}
}
Run Code Online (Sandbox Code Playgroud)
内部的比较操作MyMethod因编译器错误CS0019而失败.是否可以添加约束T来使其工作?我尝试where T: IComparable<T>在类定义中添加一个无效.
我有一个包含项目集合的类.为方便起见,我提供了由实现的GetCurrentItem
public Type GetCurrentItem
{
get { return this.items[this.items.Count - 1]; }
}
Run Code Online (Sandbox Code Playgroud)
如果列表中没有项目,则会抛出异常.
我应该抛出异常还是应该归还null?如果这是我递给你的API,你会期待什么?例外还是null?有没有更好的方法来处理这个?
c# ×8
.net ×1
api-design ×1
ca2000 ×1
fortran ×1
generics ×1
idictionary ×1
idisposable ×1
interface ×1
ribbon ×1
task ×1
wpf ×1