小编jet*_*hro的帖子

如何检查对象是否已在C#中处理

可能重复:
如何判断是否处置了IDisposable对象引用?

有没有一种方法来检查对象是否已被处置不同

try
{
    myObj.CallRandomMethod();
} catch (ObjectDisposedException e)
{
    // now I know object has been disposed
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我正在使用TcpClient具有Close()处理对象的方法的类,这可能发生在我无法控制的代码段中.在这种情况下,我想有更好的解决方案然后捕获异常.

.net c# dispose

68
推荐指数
3
解决办法
11万
查看次数

推荐的开源C#算法和数据结构库

您可以推荐哪些算法库?基本标准是:

  • 功能
  • 面向对象设计
  • 性能

我使用的算法库,可以推荐:

我还没有找到任何好的文本/字符串算法库和2D几何库.

.net c# algorithm

26
推荐指数
1
解决办法
7439
查看次数

Mono.Cecil type.IsAssignableFrom(derivedType)等价物

我正在使用Mono.Cecil在Assembly中查找派生类型的类型.Normaly可以使用IsAssignableFrom()方法完成,但我不能在Cecil中使用它.有没有这样的方法或其他方法来检查它?谢谢迈克

c# reflection inheritance cil mono.cecil

10
推荐指数
1
解决办法
1792
查看次数

在Google Maps v2 for Android上重绘位图

在这种情况下,我想在Google地图上使用绘制位图gms v2,每个用户位置更新都会强制执行位图更新.目前我使用以下代码段:

public void init(){
    result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    canvas = new Canvas(result);
}

public void update(){
    // draw on canvas ...
    draw(result);
}

public void draw(Bitmap modifiedBmp) {
    if (overlay != null) {
        overlay.remove();
    }

    BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(modifiedBmp);
    overlay = map.addGroundOverlay(new GroundOverlayOptions().image(descriptor).positionFromBounds(bounds).zIndex(100));
} 
Run Code Online (Sandbox Code Playgroud)

update()每秒调用该方法.我发现这种方法非常低效,我正在寻找更好的解决方案(即每次更新后不需要添加/删除叠加).使用addPolygon(...)addPolyline(...)不是选项在地图上绘制图元,因为我需要标准API中不存在的绘图功能.

android google-maps-android-api-2

9
推荐指数
1
解决办法
4639
查看次数

最小循环移位算法解释

我最近反对这个没有任何评论的代码.它找到了字的最小循环移位(此代码专门返回其在字符串中的索引)和它的称为Duval算法.只有我发现的信息用很少的单词描述算法并且代码更清晰.在理解这个算法时,我将不胜感激.我总是发现文本算法相当棘手,而且很难理解.

int minLexCyc(const char *x) {
    int i = 0, j = 1, k = 1, p = 1, a, b, l = strlen(x);
    while(j+k <= (l<<1)) {
        if ((a=x[(i+k-1)%l])>(b=x[(j+k-1)%l])) {
            i=j++;
            k=p=1;
        } else if (a<b) {
            j+=k; 
            k=1; 
            p=j-i;
        } else if (a==b && k!=p) {
            k++;
        } else {
            j+=p; 
            k=1;
        }
    }
    return i;
}
Run Code Online (Sandbox Code Playgroud)

string algorithm

8
推荐指数
1
解决办法
2756
查看次数

比较封闭类型和开放类型

我很好奇如何检查给定类型是否为打开类型的封闭版本.例如

public bool IsGenericList(Type source)
{
    return (source.IsGenericType &&
            /*here goes the manipulation on source type*/ == typeof(List<>));
}
Run Code Online (Sandbox Code Playgroud)

c# generics reflection

8
推荐指数
1
解决办法
684
查看次数

如何导航到嵌套的PreferencesScreen

在我的应用程序中,我嵌套了PreferencesScreen

<PreferencesScreen>
    <PreferencesScreen android:key="application">

    </PreferencesScreen>
</PreferencesScreen>
Run Code Online (Sandbox Code Playgroud)

现在我想开火直接Intent把我从currrent Activity带到应用程序首选项子屏幕.我怎样才能做到这一点?

android

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

如何将加载指示符添加到AutoCompleteTextView

我想在从Web服务加载数据时在AutoCompleteTextView中显示加载指示器.最好它应显示在自动完成的右侧(fi动画,如进度控制 - 旋转轮).怎么做到这一点?

android autocompletetextview

6
推荐指数
1
解决办法
4025
查看次数

OpenLayers仅在鼠标moveend后重绘

在这种情况下,我使用OpenLayers 2.10中的Map控件.在地图上的我有基体层,其是和用自定义功能.现在,当我使用鼠标移动地图时,以前不可见的功能将不会重新绘制,直到释放鼠标按钮.我在所有例子中都注意到了同样的问题.任何人都可以提供某种改变这种行为的工作吗?我想要实现的是在功能变得可见之后立即绘制功能或者总是绘制所有功能(我使用少量功能,因此地图控制的性能并不重要).OpenLayers.Layer.OSMOpenLayers.Layer.VectorOpenLayers

我目前的想法是处理地图上的一些特定事件(如点击鼠标移动)和强制功能重绘.

javascript openlayers

5
推荐指数
2
解决办法
2000
查看次数

如何在Ruby中将Array作为参数传递给SOAP

目前我正在使用Savon在ruby中使用WebService.它工作得很好,但我很难为SOAP数组类型的参数传递参数.以下代码无法正常运行:

ids = [0,1,2]
client.do_get_items { |soap| soap.body = {
    'item-list' => ids
}
Run Code Online (Sandbox Code Playgroud)

如果您能解决我的问题或提出红宝石和肥皂的替代库,我将不胜感激

ruby soap savon

2
推荐指数
1
解决办法
2834
查看次数

如何为WinForms控件设置GridLayout,即Panel

如何在WinForms控件中设置从Java或Wpf中知道的GridLayout?它是默认可用还是需要编写一些代码(自定义LayoutEngine实现)?

c# user-interface winforms

2
推荐指数
1
解决办法
7815
查看次数