相关疑难解决方法(0)

在C#中完成/处理模式

C#2008

我一直在研究这个问题,我仍然对一些问题感到困惑.我的问题如下

  1. 我知道如果你处理非托管资源,你只需要一个终结器.但是,如果您使用托管资源来调用非托管资源,您是否仍需要实现终结器?

  2. 但是,如果您开发一个不直接或间接使用任何非托管资源的类,您是否可以实现IDisposable该类,以便您的类的客户端可以使用'using statement'?

    是否可以接受实现IDisposable,以便您的类的客户端可以使用using语句?

    using(myClass objClass = new myClass())
    {
        // Do stuff here
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我在下面开发了这个简单的代码来演示Finalize/dispose模式:

    public class NoGateway : IDisposable
    {
        private WebClient wc = null;
    
        public NoGateway()
        {
            wc = new WebClient();
            wc.DownloadStringCompleted += wc_DownloadStringCompleted;
        }
    
    
        // Start the Async call to find if NoGateway is true or false
        public void NoGatewayStatus()
        {
            // Start the Async's download
                // Do other work here
            wc.DownloadStringAsync(new Uri(www.xxxx.xxx));
        }
    
        private void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            // …
    Run Code Online (Sandbox Code Playgroud)

.net c# idisposable finalizer

369
推荐指数
7
解决办法
17万
查看次数

Microsoft .NET兼容性

我用VS2010,目标是.Net 2.0(VB.Net Windows Form应用程序)

如何确定什么是 我决定使用的.Net目标,因为我知道如果用户有更高的版本就可以

我用.Net 2.0在XP上测试了我的应用程序,运行正常.

我卸载了.Net 2.0 [看看用户可能收到的错误消息]

[一些文件仍留在C:\ Windows\Microsoft.Net\Framework\v2.0.50727但不是所有文件]

我安装了.Net 4 [...还需要安装Windows Installer 3.1和Windows Imaging Component作为预先要求..]

但现在当我运行我的应用程序时,我收到错误 - "无法找到运行此应用程序的运行时版本"

那么我应该如何推荐我的客户呢?安装2.0?

谢谢,

Atara

更新:我将建议我的XP用户安装.Net 3.5 SP1

.net visual-studio

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

标签 统计

.net ×2

c# ×1

finalizer ×1

idisposable ×1

visual-studio ×1