问题列表 - 第8448页

在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万
查看次数

如何使用四元数围绕点旋转对象?

在我的3D应用程序中,我将对象的位置存储在向量中,并且它在四元数中围绕原点旋转.我需要围绕具有任意原点的矢量旋转对象.我尝试将位置 - vectorOrigin和旋转转换为矩阵,旋转矩阵,然后从结果矩阵中提取位置和旋转作为向量和四元数.位置正常,但旋转保持不变(对象围绕给定矢量旋转,但它始终面向相同方向).

我的方法错了还是我有错误?

math 3d

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

在DataTemplate中为MenuItem指定命令

我有一个上下文菜单.它绑定到一些集合,它有一个定义的ItemTemplate,如下所示:

<ContextMenu
    ItemsSource={Binding ...}
    ItemTemplate={StaticResource itemTemplate}
    />
Run Code Online (Sandbox Code Playgroud)

itemTemplate是一个带TextBlock的简单DataTemplate:

<DataTemplate x:Key="itemTemplate">
    <TextBlock Text={Binding ...} />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

如何将MenuItem的Command属性绑定到底层对象的属性?

wpf command datatemplate

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

C++ - 线程和多个队列

我需要构建一个工作系统(表示为线程)和(多个)队列.单个作业正在其中一个队列中等待,并等待工作线程处理它们.每个工作人员只能处理一些队列中的作业.没有旋转等待.C/C++,pthreads,标准POSIX.

对我来说问题是"多个队列"的事​​情.我知道如何用一个队列来实现它.工作人员需要等待他们可以处理的所有队列(等待其中的任何队列).

在Windows上我会使用WaitForMultipleObjects,但这需要是多平台的.

我不想要任何特定的代码,只是我应该使用的模型的提示或描述.提前致谢.

c++ queue multithreading posix pthreads

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

MS SQL Server的好表格编辑器?

我有用于编辑表数据的MS SQL Management Studio,它没有很好的可用性.我需要像在Excel中一样编辑几百行,能够将列排序到简单的编辑过程(SQL Mgmt只有'Open table'功能,没有排序列,只有使用UPDATE SQL代码才能进行更新).

LinqPad很棒,但仅限于查询.我想编辑表格结果.

我安装了Acqua Studio,它拥有一切,但试用期已过期.你知道任何可以做到这一点的软件免费替代品吗?

编辑:我真的需要改变和输入数据,当然我可以通过SQL代码来完成它,但是当你必须手动更新大量的行时它并不快.我需要一个可编辑的有序网格.我将尝试MSManager Lite.

谢谢

sql linq sql-server

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

如何使用 Inno Setup 取消安装程序?

我正在使用 Inno setup 来安装我的产品,在安装中我执行一个外部程序 (Validator.exe),如果该程序被取消或中止,我必须取消我自己的安装程序。

我将 Validator.exe 保存在 {app} 路径中并执行它。

当安装程序运行时,我调用 Validator.exe 文件,并通过以下方式获取执行结果:Exec(ExpandConstant('{app}/Validator.exe'), '', '', SW_SHOW, ewWaitUntilTermulated, ResultCode)。

但这是我尝试过的所有解决方案的问题:

InitializeSetup:Validator.exe 文件尚未复制到 {app} 中,因此永远不会执行。

Abort:只能在 (InitializeSetup,InitializeWizard,CurStepChanged(ssInstall)) 中调用,因此在这些情况下,验证器尚未复制。

DeinitializeSetup:我可以在安装后执行 Validator.exe,但此时无法中止我的安装程序。

在复制并执行 Validator.exe 后,我需要某种方法来取消安装,也许可以调用卸载,但我无法做到这一点。

谢谢你的帮助。

installation inno-setup abort

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

是否可以在超类对象上调用子类的方法?

动物是狗和狗的超类有一种叫做树皮的方法

public void bark()
{
    System.out.println("woof");
}
Run Code Online (Sandbox Code Playgroud)

考虑以下:

Animal a = new Dog();
if (a instanceof Dog){
    a.bark();
}
Run Code Online (Sandbox Code Playgroud)

会发生什么?

  1. 不允许转让
  2. 允许对树皮的调用,并在运行时打印"woof"
  3. 允许吠叫,但没有打印
  4. 对bark的调用会导致编译时错误
  5. 对bark的调用导致运行时错误

当我们检查对象是否是狗时,我说2; 因为狗是带有树皮方法的类,如果是,那么我们称它为打印出来的:s

我的理解在这里是否正确?

java inheritance subclass superclass

16
推荐指数
4
解决办法
5万
查看次数

我遇到了尝试在JSTL标签中使用EL的问题

我正在尝试在jstl标签内使用表达式语言,但会发生奇怪的错误.

"根据标记文件中的TLD或属性指令,属性值不接受任何表达式"

代码是这样的:

<c:out value="${header['host']}"/>
Run Code Online (Sandbox Code Playgroud)

但下一个代码执行得很好:

${header["host"]}
<c:out value="hello"/>
Run Code Online (Sandbox Code Playgroud)

我将jstl.jar和standard.jar添加到WEB-INF/lib /(和classpath).包含jstl的指令是标准的:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
Run Code Online (Sandbox Code Playgroud)

JSTL版本是1.1.2

App-server:tomcat 6.0.16

jsp jstl el

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

用于群组模拟的.NET库/书籍

我的任务是创建模拟人们四处走动的模拟.可能是一群人走过餐馆或离开学校.搜索周围,我发现了一堆A*相关的​​东西,对一个人来说很好,但我会有一堆.人们使用这个东西的标准库吗?或者我应该看一种算法?还是一本能帮我上路的书?

.net simulation artificial-intelligence

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

引用指针和C++多态

有谁知道为什么这会给编译器错误?我试过VS 2005和Codewarrior:

class Parent {
   protected:
      int m_Var;
   public:
      Parent() : m_Var(0) {}
      virtual ~Parent() {}
      void PubFunc();
};

class Child : public Parent {
   protected:
      bool m_Bool;
   public:
      Child() : m_Bool(false) {}
      virtual ~Child() {}
      void ChildFunc();
};

void RemoveObj(Parent *& ppObj)
{
   delete ppObj;
   ppObj = 0;
}

int main()
{
   Parent* pPObj = 0;
   Child*  pCObj = 0;
   pPObj = new Parent();
   pCObj = new Child();

   RemoveObj(pPObj);
   RemoveObj(pCObj);
   return 1;
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio说:

refptr.cpp(33):错误C2664:'RemoveObj':无法将参数1从'Child*'转换为'Parent*&'

谢谢

c++ parameters polymorphism pointers reference

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