小编Jar*_*Par的帖子

将具体类型的泛型集合转换为基类型的集合

我有很多实现特定接口(ISearchable)的类,我想从静态方法返回基类型(ISearchable)的IEnumerable ,但是我不知道如何在没有中间的情况下转换它集合.

代码非常简单,域对象的实现之一就是这样:

public class account : ISearchable
{
    public static IEnumerable<ISearchable> Search(string keyword)
    {
        // ORMVendorCollection<T> implements IQueryable<T>
        ORMVendorCollection<account> results = /* linq query */

        // this works if I change the return type to IEnumerable<account>
        // but it uglifies client code a fair bit
        return results.AsEnumerable<account>();

        // this doesn't work, but it's what I'd like to achieve            
        return results.AsEnumerable<ISearchable>(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

客户端代码,理想情况如下:

public static IEnumerable<ISearchable> Search(string keyword)
{
    return account.Search(keyword)
        .Concat<ISearchable>(order.Search(keyword))
        .Concat<ISearchable>(otherDomainClass.Search(keyword));
}
Run Code Online (Sandbox Code Playgroud)

c# linq generics ienumerable

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

j存储跨越http和https的问题

几周前我们开始使用jStorage存储元素的一些帮助数据,以便它可以在多个页面中保留.这似乎工作正常,直到我们重定向到我们的网站中使用https的页面.一旦那里数据不再可用,虽然我可以将新数据推送到jStorage.我需要的是http页面中的状态.

我们做的事情如下:

$.jStorage.set(key, value);
Run Code Online (Sandbox Code Playgroud)

$.jStorage.get(key);
Run Code Online (Sandbox Code Playgroud)

它在http或https中运行良好,但两者的存储似乎不同.

这可能就是事情的原因,我们需要使用cookie或其他东西来重新启动状态.任何建议都会有所帮助.

谢谢

加里

javascript

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

Visual Studio 2008浮动窗口是屏幕外的

我在Visual Studio 2008中的浮动窗口块(输出,错误列表,查找结果等)已经消失 - 我假设在屏幕外.

我无法找到选项的键盘快捷键(相当于实际窗口的Alt-Space的浮动窗口).怎样才能让我的浮动窗户回来?

visual-studio-2008 visual-studio

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

jquery删除匹配的类?

我有一个类似东西的清单

                    <ul>
                        <li>
                            <div class="pack1 active1"><span>$3.99</span></div>
                        </li>
                        <li>
                            <div class="pack2"><span>$5.99</span></div>
                        </li>
                        <li>
                            <div class="pack3 active3"><div id="ribbon"><span>40</span></div><span>$6.99</span></div>
                        </li>
                        <li>
                            <div class="pack4"><span>$10.99</span></div>
                        </li>
                        <li>
                            <div class="pack5"><span>$259.99</span></div>
                        </li>
                    </ul>
Run Code Online (Sandbox Code Playgroud)

我想在点击时删除所有活动的*类.我试图做一些类似$('*[class^="active"]').removeClass()但不起作用的事情

有帮助吗?

javascript jquery

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

通用扩展方法测试

我有一个非常简单的扩展方法,它与IComparable实例有关:

public static bool Between<T>(this T comparable, T min, T max) where T : IComparable<T>
{
    return comparable.CompareTo(min) >= 0 && comparable.CompareTo(max) <= 0;
}
Run Code Online (Sandbox Code Playgroud)

哪种方法可以测试这种方法?我试过模拟IComparable实例无济于事...我使用NUnit和Moq,但我真的是TDD中的菜鸟.

c# generics tdd extension-methods moq

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

c&c ++中的指针操作

struct node {

    int data;
    struct node* next;

}

void push (struct node **head, int data) {

    struct node* newNode = malloc (sizeof (struct node));
    newNode->data = data;
    newNode->next = *head;
    *head = newNode;     
} 

//I understand c version well.

C++ version

void Stack::push( void *data ) {

        struct node *newNode = new node;
        newNode->data = data;
        newNode->next = head;
        head = newNode;

}
Run Code Online (Sandbox Code Playgroud)

在c ++中,head是堆栈类的私有或受保护成员,并声明为node*head.

问题:为什么head可以在c ++中调用push()之后保留其值.
在c中,我们需要将其声明为**,因为我们想要在push()函数调用之后更改头指针的值.在c ++代码中,调用后不会改变头部丢失吗?

c c++ pointers data-structures

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

调试从非托管C++调用的托管.NET代码

我已经阅读了SO上提供的解决方案,但到目前为止还没有解决我的问题.我的启动项目是一个非托管的C++项目(我们称之为TestWrapper).目标是让TestWrapper调用托管C++项目,然后调用我的C#项目.这工作正常,我没有运行它的问题.

但是,我的C#代码中出现了异常.由于某种原因,断点不会被击中,实际的调试中断发生在内部ntdll.dll.我试图右键单击C#项目并启用非托管调试,但这不能解决问题.如果有人能指出我的解决方案,我将非常感激.

我要继续并包括项目布局:

TestWrapper (unmanaged C++) -> ManagedWrapper (managed C++) -> MyCSharpProject (C#)
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,它在于调试的配置,但我知道甚至不知道从哪里开始看.

c# c++ debugging visual-studio-2010 visual-studio

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

F# - 用于F#中的循环问题

我想写这种程序(这是一个简单的例子来解释我想做什么):

//  #r "FSharp.PowerPack.dll" 

open Microsoft.FSharp.Math

// Definition of my products

let product1 = matrix [[0.;1.;0.]]

let product2 = matrix [[1.;1.;0.]]

let product3 = matrix [[1.;1.;1.]]

// Instead of this (i have hundreds of products) : 

printfn "%A" product1

printfn "%A" product2

printfn "%A" product3

// I would like to do something like this (and it does not work):

for i = 1 to 3 do

printfn "%A" product&i
Run Code Online (Sandbox Code Playgroud)

先感谢您 !!!!!

f# function

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

为什么不让OnXXX事件提升器方法返回一个值?

假设您有一个使用CancelEventArgs类引发事件的事件提升器方法(OnXXX),使OnXXX方法返回e.Cancel的值有什么问题吗?

例如:

Public Sub ProcessFiles(folder as DirectoryInfo)

    For each file in folder.GetFiles()
        If OnProcessingFile(New FileEventArgs(file)) Then
            .....ProcessFileCode
        Else
            Exit For
        End If
    Next

End Sub

Protected Function OnProcessingFile(ByVal e As FileEventArgs) As Boolean

    RaiseEvent ProcessingFile(Me, e)
    Return Not e.Cancel

End Function
Run Code Online (Sandbox Code Playgroud)

对我来说似乎是一个比这更清洁的解决方案:

Public Sub ProcessFiles(folder as DirectoryInfo)

    Dim e As FileEventArgs

    For each file in folder.GetFiles()

        e = New FileEventArgs(file)
        OnProcessingFile(e)

        If e.Cancel Then
            Exit For
        End If

        .....Process File Code

    Next

End Sub
Run Code Online (Sandbox Code Playgroud)

.net vb.net events

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

C#:xml CData中的字节数组

我有一个返回xml块的WCF服务.一个元素是CData []部分.我的应用程序从数据库中读取HTML文件,并使用ABCPDF将其转换为PDF byte []数组.然后在我的XmlWriter中将字节添加到CData部分.

问题是生成的xml如下所示:

<![CDATA[System.Byte[]]]>
Run Code Online (Sandbox Code Playgroud)

如何将字符串输入CData部分?我尝试过这样的事情:

string str;
ASCIIEncoding enc = new ASCIIEncoding();
str = enc.GetString(theData);
Run Code Online (Sandbox Code Playgroud)

Convert.ToBase64String(theData);
Run Code Online (Sandbox Code Playgroud)

我卡住!! 任何帮助都会很棒,谢谢!

c# xml bytearray abcpdf cdata

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