问题列表 - 第9566页

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

IDisposable,Finalizers和非托管资源的定义

我正在努力确保我的理解IDisposable是正确的,并且我仍然不太确定.

IDisposable 似乎有两个目的.

  1. 提供按需"关闭"托管对象的约定.
  2. 提供一个约定来释放托管对象持有的"非托管资源".

我的困惑来自于确定哪些场景具有"非托管资源".

假设您使用的是Microsoft提供的IDisposable实现(托管)类(例如,数据库或套接字相关).

  1. 你怎么知道它是IDisposable仅仅在11和2以上实现?
  2. 您是否有责任确保释放内部可能或不可能保留的非托管资源?你应该在你自己的类中添加一个终结器(这是正确的机制吗?),调用instanceOfMsSuppliedClass.Dispose()?

.net c# garbage-collection idisposable finalizer

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

foreach my $ var(@list) - $ var是一个参考?

所以,我从来不知道这一点,我希望得到一些澄清.我知道你是否这样做

foreach (@list){
Run Code Online (Sandbox Code Playgroud)

如果在该循环中更改$ _,则会影响实际数据.但是,如果你这样做,我不知道

foreach my $var1 (@list){
Run Code Online (Sandbox Code Playgroud)

如果您在循环中更改了$ var1,它将更改实际数据.: - /那么,有没有办法循环@list但保持变量是只读副本,或者如果更改的副本不会更改@list中的值?

perl foreach perlsyn

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

python ORM允许表创建和批量插入?

我正在寻找一个允许我进行批量插入的ORM,以及基于python类创建代码.我尝试了sqlobject,它可以很好地创建表,但是对于我想要插入的数据量,插入速度不明显慢.如果这样的ORM不存在,那么类的指针可以帮助清理输入和构建SQL字符串之类的东西.

python database orm

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

我可以通过T.Property吗?还有,改进这种方法的想法?

或者可能有更好的方法.

我正在为NHibernate构建一个动态查询构建器,我们不希望将HQL直接放入应用程序中,我们希望它尽可能与ORM无关.它目前看起来像这样:

  public override IEnumerable<T> SelectQuery(Dictionary<string, string> dictionary)
    {
        string t = Convert.ToString(typeof (T).Name);
        string criteria = string.Empty;
        foreach (KeyValuePair<string, string> item in dictionary)
        {
            if (criteria != string.Empty)
                  criteria += " and ";


            criteria += item.Key + " = '" + item.Value + "'"; 
        }

        string query = " from " + t;

        if (criteria != string.Empty)
            query += " where " + criteria;

        return FindByHql(query);
    }
Run Code Online (Sandbox Code Playgroud)

好的,很棒,但是......这里有两件事会造成问题:

  1. 这个查询只处理"和",我最初的想法是通过构建一个方法来动态构建带有属性名称,值和运算符"和"或"或"的字典,并与数组一起构建字典运营商.这听起来像是正确的事吗?

  2. 好的,所以,这很有效,但是,当有一个整数时,由于单引号而失败.我认为最好的方法是让字典接受<T.Property, string>然后反映到T.Property中以找到数据类型并相应地表现.我复杂化了吗?

谢谢.

.net c# nhibernate orm .net-3.5

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

命名空间类和结构

我有一个看起来像这样的文件:

namespace myName
{
  typedef HRESULT (*PFN_HANDLE)(myName::myStruct);

  class MyClass{
  //...
  public:
    BOOL RegisterCallback (PFN_HANDLE foo);
  //...
  };

  struct myStruct{
  //...
  };
}
Run Code Online (Sandbox Code Playgroud)

但我收到编译错误'myStruct'不是'myName'的成员.谁能告诉我发生了什么事?可以在我的头文件中声明一个结构,对吗?它是命名空间问题吗?我很抱歉这么密集.

c++ namespaces

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

实体框架和SQL Server视图

由于几个我无权谈论的原因,我们在Sql Server 2005数据库中定义了一个视图,如下所示:

CREATE VIEW [dbo].[MeterProvingStatisticsPoint]
AS
SELECT
    CAST(0 AS BIGINT) AS 'RowNumber',
    CAST(0 AS BIGINT) AS 'ProverTicketId',
    CAST(0 AS INT) AS 'ReportNumber',
    GETDATE() AS 'CompletedDateTime',
    CAST(1.1 AS float) AS 'MeterFactor',
    CAST(1.1 AS float) AS 'Density',
    CAST(1.1 AS float) AS 'FlowRate',
    CAST(1.1 AS float) AS 'Average',
    CAST(1.1 AS float) AS 'StandardDeviation',
    CAST(1.1 AS float) AS 'MeanPlus2XStandardDeviation',
    CAST(1.1 AS float) AS 'MeanMinus2XStandardDeviation'
WHERE 0 = 1
Run Code Online (Sandbox Code Playgroud)

我们的想法是,实体框架将基于此查询创建一个实体,但它会生成一个包含以下内容的错误:

警告6002:表/视图'Keystone_Local.dbo.MeterProvingStatisticsPoint'没有定义主键.已推断密钥,并将定义创建为只读表/视图.

并且它决定CompletedDateTime字段将是此实体主键.

我们正在使用EdmGen生成模型.有没有办法不让实体框架包含此视图的任何字段作为主键?

entity-framework sql-server-2005 primary-key .net-3.5 sql-view

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

定义全局变量x时,Firebug会中断

我们有一个非常大的JavaScript应用程序,经过几个月的编码后,不可避免地出现了几个范围滑点,其中定义变量而不使用var以下方式的关键字:

function() {  
  x = 5; ...  
}
Run Code Online (Sandbox Code Playgroud)

代替:

function() {  
  var x = 5; ...  
}
Run Code Online (Sandbox Code Playgroud)

这发生在某个地方 - 我们不确定在哪里 - 并且搜索有问题的变量名称很困难,因为它是我们源代码中出现1000次的常用词.

有没有办法让Firebug在首先创建给定全局变量的行上中断?为了澄清,我想在window.x切换undefined到定义值的时刻和break语句中断.

我已经尝试创建一个监视表达式,并希望我可以把它变成一个断点,但我似乎无法在没有某种上下文或范围的情况下创建监视表达式.

如果使用Firebug无法做到这一点,我会对能在Firefox中完成此任务的任何事情感兴趣.

javascript debugging firefox firebug scope

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

如何检查机器类型?笔记本或台式机?

如何查看当前机器类型?笔记本或台式机?

我从http://blog.csdn.net/antimatterworld/archive/2007/11/11/1878710.aspx得到了这个,它在我的家用机器(笔记本电脑上的Win2003)上运行良好,它返回"便携式",但失败了我的工作机器(笔记本电脑上的Vista),它返回"其他".

这是代码:


public enum ChassisTypes
{
    Other = 1,
    Unknown,
    Desktop,
    LowProfileDesktop,
    PizzaBox,
    MiniTower,
    Tower,
    Portable,
    Laptop,
    Notebook,
    Handheld,
    DockingStation,
    AllInOne,
    SubNotebook,
    SpaceSaving,
    LunchBox,
    MainSystemChassis,
    ExpansionChassis,
    SubChassis,
    BusExpansionChassis,
    PeripheralChassis,
    StorageChassis,
    RackMountChassis,
    SealedCasePC
}

public static ChassisTypes GetCurrentChassisType()
{
    ManagementClass systemEnclosures = new ManagementClass("Win32_SystemEnclosure");
    foreach (ManagementObject obj in systemEnclosures.GetInstances())
    {
        foreach (int i in (UInt16[  ])(obj["ChassisTypes"]))
        {
             if (i > 0 && i < 25)
            {
                return (ChassisTypes)i;
            }
        }
    }
    return ChassisTypes.Unknown;
}

c# wmi

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

WPF数据绑定CheckBox.IsChecked

如何将CheckBox的IsChecked成员绑定到表单中的成员变量?

(我意识到我可以直接访问它,但我正在尝试学习数据绑定和WPF)

以下是我失败的尝试.

XAML:

<Window x:Class="MyProject.Form1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Title" Height="386" Width="563" WindowStyle="SingleBorderWindow">
<Grid>
    <CheckBox Name="checkBoxShowPending" 
              TabIndex="2" Margin="0,12,30,0" 
              Checked="checkBoxShowPending_CheckedChanged" 
              Height="17" Width="92" 
              VerticalAlignment="Top" HorizontalAlignment="Right" 
              Content="Show Pending" IsChecked="{Binding ShowPending}">
    </CheckBox>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

码:

namespace MyProject
{
    public partial class Form1 : Window
    {
        private ListViewColumnSorter lvwColumnSorter;

        public bool? ShowPending
        {
            get { return this.showPending; }
            set { this.showPending = value; }
        }

        private bool showPending = false;

        private void checkBoxShowPending_CheckedChanged(object sender, EventArgs e)
        {
            //checking showPending.Value here.  It's always false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

data-binding wpf checkbox

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