问题列表 - 第6827页

在"CFBundleRef opaque类型"的上下文中,术语"不透明类型"是什么意思?

有人对"不透明类型"有什么好的解释吗?我在上下文中看到了这个术语CFBundleRef,他们说的是:"CFBundleRef opaque type".这是一种只读的类型吗?

iphone objective-c opaque-pointers

29
推荐指数
2
解决办法
7307
查看次数

ASP.NET MVC - 如何在Controller和Views之外的位置访问会话数据

我们可以在控制器和视图中访问会话数据,如下所示:

Session["SessionKey1"]
Run Code Online (Sandbox Code Playgroud)

如何从控制器或视图以外的类访问会话值?

asp.net-mvc session

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

Perl的钻石操作员:可以用bash完成吗?

是否有一种惯用的方式来模拟Perl在bash中的钻石操作符?与钻石运营商,

script.sh | ...
Run Code Online (Sandbox Code Playgroud)

读取stdin的输入和

script.sh file1 file2 | ...
Run Code Online (Sandbox Code Playgroud)

读取file1和file2的输入.

另一个约束是我想在script.sh中使用stdin来输入我自己的脚本以外的其他东西.下面的代码执行我想要的file1 file2 ... case,但不适用于stdin上提供的数据.

command - $@ <<EOF
some_code_for_first_argument_of_command_here
EOF
Run Code Online (Sandbox Code Playgroud)

我更喜欢Bash解决方案,但任何Unix shell都可以.

编辑:为了澄清,这是script.sh的内容:

#!/bin/bash
command - $@ <<EOF
some_code_for_first_argument_of_command_here
EOF
Run Code Online (Sandbox Code Playgroud)

我希望这个工作方式与钻石运算符在Perl中的工作方式相同,但它现在只处理文件名作为参数.

编辑2:我不能做任何事情

cat XXX | command
Run Code Online (Sandbox Code Playgroud)

因为命令的stdin 不是用户的数据.命令的stdin是here-doc中的数据.我希望用户数据进入我脚本的stdin,但它不能是我脚本中命令调用的标准输入.

unix bash shell perl diamond-operator

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

IE 6/7访问被拒绝尝试访问弹出窗口.文档

我正在使用window.open()创建一个没有URL源的弹出窗口.我没有给它一个URL,因为我很快就要发表一个表格了.但是,与此同时,我想显示一个简短的"正在加载..."消息,这样用户就不会在2-3秒内查看空白页面,它将通过表单发布.

我尝试添加只写入弹出窗口文档的Javascript.这在Firefox和IE 8中运行良好,但在IE 6和7中因访问拒绝消息而失败.任何人都知道这方面的方法吗?我希望能够a)将一些HTML硬编码到window.open(),b)学习如何在这种情况下更新弹出窗口的DOM,或者c)听到任何人都能想到的任何东西.

下面是我用来生成窗口的代码:

    var wref = window.open("", winName, "toolbar=1,resizable=1,menubar=1,location=1,status=1,scrollbars=1,width=800,height=600");
    if (wref != null) {
        try {wref.opener = self;} catch (exc) {}

        // while we wait for the handoff form post to go through, display a simple wait message
        $j(wref.document.body).html('Now loading &#133;'); // EPIC FAIL
        wref.focus();
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer dom

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

在C#中的基础构造函数之前执行派生的构造函数

我的问题是我想将一个对象传递给派生类,但它必须在基类构造函数之前完成,因为基类将立即调用派生类Start()使用该对象的方法.

以下是基类的摘录(为方便起见,从BarcodeScanner重命名).

public abstract class MyBase
{    
    public MyBase()
    {
        if (Initialize())
            this.Start();
    }

    public abstract bool Initialize();
    public abstract void Start();
}
Run Code Online (Sandbox Code Playgroud)

这是我正在创建的派生类.

class MyDerived : MyBase
{
    private string sampleObject;

    public MyDerived (string initObject)
    {
        sampleObject = initObject;
    }

    public override bool Initialize() 
    { 
        return GetDevice();
    }
    public override void Start() 
    { 
        Console.WriteLine("Processing " + sampleObject.ToString()); 
    }
}
Run Code Online (Sandbox Code Playgroud)

我怀疑你可以让C#在基础构造函数之前执行派生构造函数; 所以我真的只是在寻找一个解决方案,在使用对象之前将对象传递给派生类.

我通过在MyDerived构造函数中放置Initialize/Start if块来解决这个问题.但是,还有其他类派生自基类; 所以我最终不得不在每个派生类中重复这个Initialize/Start代码块.我想看一个修改基类的替代方法.

c# constructor abstract-class derived-class

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

C#LINQ to SQL:重构此通用GetByID方法

我写了以下方法.

public T GetByID(int id)
{
    var dbcontext = DB;
    var table = dbcontext.GetTable<T>();
    return table.ToList().SingleOrDefault(e => Convert.ToInt16(e.GetType().GetProperties().First().GetValue(e, null)) == id);
}
Run Code Online (Sandbox Code Playgroud)

基本上它是Generic类中的一个方法,它T是DataContext中的一个类.

该方法从T(GetTable)类型获取表,并检查输入参数的第一个属性(始终是ID).

这个问题是我必须首先将元素表转换为列表以GetType在属性上执行a ,但这不是很方便,因为必须枚举表的所有元素并将其转换为a List.

我怎样才能重构这个方法以避免ToList整个表格?

[更新]

我无法Where直接在表上执行的原因是因为我收到此异常:

方法'System.Reflection.PropertyInfo [] GetProperties()'没有支持的SQL转换.

因为GetProperties无法翻译成SQL.

[更新]

有些人建议使用T接口,但问题是该T参数将是[DataContextName] .designer.cs中自动生成的类,因此我无法使其实现接口(并且它不可行实现LINQ的所有这些"数据库类"的接口;并且,一旦我向DataContext添加新表,就会重新生成文件,从而丢失所有写入的数据).

所以,必须有一个更好的方法来做到这一点......

[更新]

我现在已经按照Neil Williams的建议实现了我的代码,但我仍然遇到问题.以下是代码的摘录:

接口:

public interface IHasID
{
    int ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

DataContext [查看代码]:

namespace MusicRepo_DataContext
{
    partial …
Run Code Online (Sandbox Code Playgroud)

c# generics expression-trees linq-to-sql

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

Rails:在数据库中存储二进制文件

使用Rails,我有理由在文件系统中而不是在数据库中存储附件(可能是任何时间的文件)吗?数据库对我来说似乎更简单,无需担心文件系统路径,结构等,只需查看blob字段即可.但是大多数人似乎都在使用文件系统,它让我觉得这样做有一些好处,我没有得到,或者使用数据库进行这种存储会有一些缺点.(在这种情况下,我正在使用postgres).

ruby-on-rails

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

可以禁用"应用程序错误"对话框吗?

我使用Hudson作为持续集成服务器来测试C/C++代码.不幸的是,我有一个导致内存损坏的错误,所以在某些Windows机器上,我有时会得到一个"应用程序错误"对话框,说明一条指令引用了无法读取的内存.弹出此对话框并基本挂起测试运行,因为它需要手动干预.

有没有办法阻止此对话框出现,以便测试运行只是失败并在Hudson中报告?

是否可以自动生成小型转储而不是显示对话框?

c++ memory windows debugging build-automation

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

C++是否支持单个泛型方法而不是泛型类?

重要提示:这个问题已经很长了,如果这是你第一次阅读这篇文章我建议你从底部开始,因为解决方案是在一个回合的方式,但代码有点臭.

阅读完模板教程后,我能够更改现有类以支持泛型类型.但是,许多对象已经依赖于此,所以我正在寻找一种使方法通用而不是整个类的方法.

我尝试了以下内容,但看起来不支持此行为.

// foobar1.h
// Don't want the entire class to be generic.
//template<class T>
class FooBar1
{
public:
    template<class T> T Foo();
}

// foobar2.h
class FooBar2 : public FooBar1
{
}

// foobar1.cpp
template<class T>
T FooBar1::Foo()
{
    return something;
}

// test.cpp
FooBar1 fb1;
FooBar2 fb2 = fb1.Foo<FooBar2>();
Run Code Online (Sandbox Code Playgroud)

这应该不起作用,还是我在其他地方遇到的一个错误?

未定义的引用 FooBar2 Foo<FooBar2>()

为了实现我想要实现的目标,我在C#中如何做到这一点......

public class FooBar1
{
    public T Foo<T>()
        where T : FooBar1
    {
        return something;
    }
}

public class FooBar2 : …
Run Code Online (Sandbox Code Playgroud)

c# c++ templates

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

如何使用bulkUpdate批量删除

我有一个常见的用户/角色设置,带有user_role连接表.我正在尝试使用Spring的HibernateTemplate批量删除所有锁定的用户,如下所示:

getHibernateTemplate().bulkUpdate("delete from User where locked=?", true);
Run Code Online (Sandbox Code Playgroud)

如果被删除的用户没有任何角色(user_role表中没有记录),那么一切都很顺利; 但是如果用户确实有角色记录,我会收到以下错误:

违反完整性约束 - 找到子记录

角色在User.java中定义如下:

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_role", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles = new HashSet<Role>();
Run Code Online (Sandbox Code Playgroud)

那么,即使用户有子记录,我如何批量删除用户呢?谢谢!

java orm spring hibernate

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