问题列表 - 第32466页

监视SQL Server以获取新行

我正在创建一个应用程序,如果在应用程序数据库中的表中添加了新行,则会通知用户.是否最好为此创建一个触发器,或者直接从应用程序每隔几秒检查一次?思考?

sql vb.net sql-server

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

带有重载方法的模糊调用错误,需要2个具有不同返回类型的委托

class Program
{
    public delegate void VoidMethodDelegate();
    public delegate int IntMethodDelegate();

    static void Main(string[] args)
    {
        Test(IntMethod);
        Test(VoidMethod);
    }

    static int IntMethod()
    {
        return 1;
    }

    static void VoidMethod()
    {
    }

    static void Test(VoidMethodDelegate method)
    {
    }

    static void Test(IntMethodDelegate method)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置一个重载方法,它将采用两种不同类型的委托.代表只有返回类型不同 - 在这两种情况下它们都不带输入参数.因此,在上面的示例中,我希望能够调用Test()并将其传递给返回void的方法或返回int的方法.当我编译上面的代码时,我得到这些错误:

错误CS0121:以下方法或属性之间的调用不明确:'ConsoleApplication1.Program.Test(ConsoleApplication1.Program.VoidMethodDelegate)'和'ConsoleApplication1.Program.Test(ConsoleApplication1.Program.IntMethodDelegate)'

错误CS0407:'int ConsoleApplication1.Program.IntMethod()'具有错误的返回类型

错误CS0121:以下方法或属性之间的调用不明确:'ConsoleApplication1.Program.Test(ConsoleApplication1.Program.VoidMethodDelegate)'和'ConsoleApplication1.Program.Test(ConsoleApplication1.Program.IntMethodDelegate)'

我知道如果我使用new创建委托而不是直接传递方法,我可以解决错误,如下所示:

    static void Main(string[] args)
    {
        Test(new IntMethodDelegate(IntMethod));
        Test(new VoidMethodDelegate(VoidMethod));
    }
Run Code Online (Sandbox Code Playgroud)

但是这种语法很混乱,我宁愿能够直接传递方法,而不必将其包装在对new的调用中.我见过的唯一解决方案是摆脱Test()的重载版本,而是使用两种不同的方法,每种方法都有不同的名称.

任何人都可以告诉我为什么编译器抱怨这是不明确的?我不明白为什么编译器无法决定使用哪两个重载.

c#

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

包括文件混乱

我有两个类 - 一个持有实体信息,其他持有组件信息.现在的问题是Entity类需要已经定义的Component类才能在子元素的向量中使用它,但同时Component需要Entity将它声明为它的父元素(我保持所有链接在它们之间).这会产生奇怪的错误,即使IntelliSense说它已经定义了.

我怎样才能克服这个困难?

c++ header class header-files

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

在 Qt C++ 中处理鼠标事件

抱歉我的初学者问题...定义当 MousePressEvent 或 MouseReleaseEvent 发生时执行的过程的最简单方法是什么?

现在我正在定义自己的类(MyGraphicsView 类),它继承 QGraphicsView 并且我正在重新实现鼠标事件(它们是虚函数)。它工作得很好,但是有什么方法可以解决这个问题而不需要定义一个新的类吗?我可以以某种方式将事件与老虎机连接起来吗?

感谢您的帮助。

c++ qt qt4 qgraphicsview

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

使用标记强制关闭IE兼容模式

我正在为在所有Intranet站点上强制兼容模式的客户端工作.我想知道是否有一个标签,我可以放入我的HTML,强制兼容模式关闭.

html internet-explorer

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

如何比较xmlhttp.responsetext?

我的代码 -

document.getElementById("lblmsg").innerHTML=xmlhttp.responseText;
                if(xmlhttp.responseText == 'Available') 
                    {
                         document.getElementById("newid").value = "";
                    }       
Run Code Online (Sandbox Code Playgroud)

虽然响应文本Available但仍然没有进入条件???

javascript ajax xmlhttprequest

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

"Puts()"函数如何在没有参数的情况下工作?

我在网站上看到了这段代码.

main(i)
{
  gets(&i);
  puts();
}
Run Code Online (Sandbox Code Playgroud)

这段代码编译并运行良好!

它从用户获取一个字符串作为输入并打印它!

但是,我的问题是,怎么样?

(注意puts()函数不包含任何参数!)

c

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

jQuery:如何删除醉意的工具提示?

我使用.placeTaken类将divy工具提示添加到div.然后用户可以拖动框,因此我删除了类并将其添加到新的div中.当发生这种情况时,我向该div添加一个新的醉意工具提示,并且工作正常,但我想删除旧的.

他们说如果您希望通过将title属性设置为空字符串来删除工具提示,请改为设置original-title属性.我试过$("#"+dropFromId).attr("original-title", "");但工具提示仍在那里.我甚至无法通过设置另一个原始标题来更改工具提示标题.

我究竟做错了什么?

编辑:我想我没有给你们足够的信息.我使用ajax来获取从数据库中获取的位置.PHP返回一个关联数组(客户),然后我在我的JavaScript中使用,其中所发生的匹配名称.删除时所采取的位置会发生变化,因此我再次执行ajax函数以使用所有拍摄的位置更新数组.首先,我将醉意的工具提示添加到所有拍摄的地方,如此

$("#map div.placeTaken").tipsy({gravity: 'w', html: true, fade: true, title:
    function(){
        // id could for example be map74, substring to 74
        var id = $(this).attr("id").substring(3,6);
        return '<div>'+customers[id]+'</div><br />';
    }
});
Run Code Online (Sandbox Code Playgroud)

所以标题等于数组中匹配的位置.我希望我能够解释这个问题.当盒子掉到一个新的地方时,就会发生这种情况

$("#map div span").bind( "dragstop", function(event, ui) {
        // some code here to change the .placeTaken class       
        // update database with the new place
        $.ajax({
            type: "POST",
            url: "map.php",
            data: "dropFromId="+ dropFromId.substring(3,6) +"& dropToId="+ dropToId.substring(3,6),
            success: function(){
            // ajax function to update the js array …
Run Code Online (Sandbox Code Playgroud)

jquery tooltip

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

在给定位置将两个字符串分开

$string = 'Some string';
$pos = 5;

...??...

$begging // == 'Some s';
$end // == 'tring';
Run Code Online (Sandbox Code Playgroud)

在给定位置将字符串分成两部分的最佳方法是什么?

php string

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

Linq使用System.Type转换<T>

LinQ包含方法Cast,它将列表中的每个条目强制转换为T类型.假设我们有一个如下所示的列表:

List<Object> obj = new List<Object>();
obj.Add("A");
obj.Add("B");
Run Code Online (Sandbox Code Playgroud)

工作演员可能是

var list = obj.Cast<string>();
Run Code Online (Sandbox Code Playgroud)

我想做什么

Type t = typeof(String);
Object list = obj.Cast(t);
Run Code Online (Sandbox Code Playgroud)

一个解决方案是使用反射并通用地创建一个列表并填充它,但我想知道是否有更好的解决方案?听说.NET 4.0应该支持一些co/contra-variance,这可能是一种方法.


额外信息和反思Soulution

我得到的错误如下The model item passed into the dictionary is of type System.Collections.Generic.List1[IStatisticEntry], but this dictionary requires a model item of type System.Collections.Generic.List1[CrashStatistic+CrashEntry].请注意,CrashEntry实现了IStaticEntry,但无法进行转换,因为它是列表的泛型类型.

我构建了以下解决方案,我会像没有反射的东西一样:

    public static object Cast(this IEnumerable list, Type type)
    {
        var newList = Activator.CreateInstance(typeof(List<>).MakeGenericType(type));

        foreach (var item in list)
            newList.GetType().GetMethod("Add").Invoke(newList, new object[] { item });

        return newList;
    }
Run Code Online (Sandbox Code Playgroud)

linq casting

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