问题列表 - 第13281页

这是否是类层次结构的"传统"处置模式的合法替代方案?

我不是样板代码的粉丝:复制粘贴重用可能容易出错.即使您使用代码段或智能模板,也无法保证其他开发人员所做的,这意味着无法保证他们做得对.而且,如果你必须看到代码,你必须理解和/或维护它.

我想从社区中了解到:我对类层次结构的IDispose的实现是否是"传统"处置模式的合法替代?通过合法,我的意思是正确,相当好的表现,健壮和可维护.

我很好,这个替代方案是完全错误的,但如果是,我想知道为什么.

此实现假定您可以完全控制类层次结构; 如果你不这样做,你可能不得不回到样板代码.Add*()的调用通常在构造函数中进行.

public abstract class DisposableObject : IDisposable
{
  protected DisposableObject()
  {}

  protected DisposableObject(Action managedDisposer)
  {
     AddDisposers(managedDisposer, null);
  }

  protected DisposableObject(Action managedDisposer, Action unmanagedDisposer)
  {
     AddDisposers(managedDisposer, unmanagedDisposer);
  }

  public bool IsDisposed
  {
     get { return disposeIndex == -1; }
  }

  public void CheckDisposed()
  {
     if (IsDisposed)
        throw new ObjectDisposedException("This instance is disposed.");
  }

  protected void AddDisposers(Action managedDisposer, Action unmanagedDisposer)
  {
     managedDisposers.Add(managedDisposer);
     unmanagedDisposers.Add(unmanagedDisposer);
     disposeIndex++;
  }

  protected void AddManagedDisposer(Action managedDisposer)
  {
     AddDisposers(managedDisposer, null); …
Run Code Online (Sandbox Code Playgroud)

c# dispose idisposable finalizer boilerplate

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

将图像传输到iphone http

我已经建立了与服务器的连接,现在我想将图像传输到iPhone.最好的方法是什么?我在这里检查,除了xml之外我没有看到转移任何东西的方法.我需要图像.谢谢!

iphone data-transfer objective-c

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

我需要刮网站时是否应该使用BackgroundWorker或Threads?

我打算在游戏网站上搜索一些数据.我希望能够发送多个请求,这样我就可以一次屏幕抓取几个页面.我已经通过电子邮件向网站管理员发送电子邮件,并获得了适当的速度(每秒几个请求).

据我所知,BackgroundWorker使用我认为可取的线程池.
将BackgroundWorker用于此用例或使用实际的线程是否有意义?

c# multithreading backgroundworker

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

Haskell将Float转换为Int

我还是新手,并试图创建一个在函数中使用的列表,并希望尽可能小地保留它,这恰好是logBase x y.但是我无法将logBase变成我可以在此列表中使用的东西.

[1 ..(logBase xy)]

有什么建议?

floating-point int haskell

10
推荐指数
2
解决办法
2万
查看次数

PHP:允许用户使用特定标签发布帖子

我网站上的用户可以发布新闻.但就目前而言,就HTML而言,它都是荣誉系统.

function postNewsItem($subject, $body, $userid){
  $time = time();
  $subject = mysql_real_escape_string($subject);
  $body = mysql_real_escape_string($body);
  $q = "INSERT INTO news (subject, body, userid) VALUES ('$subject', '$body', '$userid')";
  $result = mysql_query($q, $this->connection);
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

我希望用户能够链接到图像,构建表格,加粗他们的文字等,但我不希望他们能够链接到恶意脚本和什么不是.我知道有一些方法可以从用户输入中转义HTML,但有没有办法在允许某些标签的同时执行此操作?

html php sanitization escaping

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

将字符串转换为Access中的日期

我正在Access 2003中的表之间迁移数据.在旧表中,日期以YYYYMMDD格式存储为文本字段.

我想将该字段存储为新表中的日期时间.我已尝试CDate()在我的SQL语句中使用,但它只显示#Error在结果中.

我究竟做错了什么?

sql ms-access

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

使用Jquery更改css属性时的事件检测

有没有办法检测元素的"display"css属性是否被更改(无论是否为block或block或inline-block ......)?如果没有,任何插件?谢谢

html javascript jquery

86
推荐指数
2
解决办法
11万
查看次数

MySQL MAX()函数用于比较更新中的数值?

更新行时,我希望有一个内置的检查来进行一些边界检查.大多数语言都有一个MAX()函数来返回传递的参数的最大值,但MySQL似乎使用MAX()来做其他事情.例如:

UPDATE person SET dollars = MAX(0, dollars-20) WHERE id=1
Run Code Online (Sandbox Code Playgroud)

我想从人id 1减去20美元,但我不希望美元永远用负值表示,所以我希望与0进行内置比较.这有用吗?或者还有另一种方式吗?谢谢!

mysql sql

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

这些许可中的哪一个在许可条款中限制最多?

我正在建立一个新项目,我想选择一个尽可能限制的许可证,同时仍然是开源的.

  • Apache License 2.0
  • 艺术许可证/ GPL
  • Eclipse Public License 1.0
  • GNU通用公共许可证v2
  • GNU通用公共许可证v3
  • GNU较宽松通用公共许可证
  • MIT许可证
  • Mozilla公共许可证1.1
  • 新的BSD许可证

licensing

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

以编程方式获取Google搜索结果

如何从程序中获取Google搜索结果?我需要获取指定字符串的搜索结果数组.

c++ google-search

8
推荐指数
2
解决办法
8706
查看次数