小编Bri*_*ett的帖子

如何在RibbonApplicationMenu的头部设置文本

我正在尝试将文本放在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)

目标是在下面的圆圈区域中显示"文件"一词.

RibbonApplicationMenu

wpf ribbon ribbon-control ribboncontrolslibrary

23
推荐指数
3
解决办法
1万
查看次数

可索引的界面

如果我只想索引一个类型的实例,应该使用什么C#接口?我不需要(或想要)添加/删除/编辑元素的功能.枚举是可以的.这需要自定义IIndexable类型吗?

在这种情况下IList是过度杀伤,因为它强制实现我不想拥有的成员.

c# interface

19
推荐指数
2
解决办法
6960
查看次数

使用Parallel.ForEach得到不同的求和结果

我有一个foreach循环,我正在并行化,我注意到一些奇怪的东西.代码看起来像

double sum = 0.0;

Parallel.ForEach(myCollection, arg =>
{
     sum += ComplicatedFunction(arg);
});

// Use sum variable below
Run Code Online (Sandbox Code Playgroud)

当我使用常规foreach循环时,我会得到不同的结果.内部可能存在更深层次的内容,ComplicatedFunctionsum变量可能会受到并行化的意外影响?

c# parallel-processing task

18
推荐指数
3
解决办法
8025
查看次数

在Fortran睡觉

有没有人知道在Fortran中以一定的毫秒数睡眠的方法?我不想使用非便携式系统调用,因此Fortran或C库固有的任何东西都是首选.

fortran fortran-iso-c-binding

16
推荐指数
2
解决办法
9338
查看次数

从方法返回一次性对象时的CA2000

我有一个工厂方法来构建实现的对象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)

c# code-analysis idisposable ca2000

14
推荐指数
2
解决办法
2764
查看次数

Collection <T>是否包装IList <T>或枚举IList <T>?

如果我通过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循环中使用此属性,我会关注性能.

c#

11
推荐指数
1
解决办法
228
查看次数

如果值是对象并且这些对象的属性是键,那么是否有比Dictionary更好的数据结构?

我有一个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>拿着物体在哪里.

这可能是快速随机访问的典型方式,但我想获得第二意见.

c# idictionary

7
推荐指数
2
解决办法
1927
查看次数

如何将ReadOnlyCollection <T>转换为T []?

我有一个具有ReadOnlyCollection属性的类.我需要将ReadOnlyCollection转换为int [].如何才能做到这一点?是否可以在不迭代集合的情况下执行此操作?

c#

7
推荐指数
3
解决办法
8653
查看次数

泛型类型的二元比较运算符

我有一个类型的泛型类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>在类定义中添加一个无效.

.net c# generics

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

创建可能抛出IndexOutOfRangeException的属性

我有一个包含项目集合的类.为方便起见,我提供了由实现的GetCurrentItem

public Type GetCurrentItem
{
     get { return this.items[this.items.Count - 1]; }  
}
Run Code Online (Sandbox Code Playgroud)

如果列表中没有项目,则会抛出异常.

我应该抛出异常还是应该归还null?如果这是我递给你的API,你会期待什么?例外还是null?有没有更好的方法来处理这个?

c# api-design

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