小编Bjö*_*ist的帖子

将列表作为位置参数传递给F#中的Python函数

在Python中,您可以这样写:

def add(a, b, c):
    return a + b + c

list_of_args = [4, 5, 6]
print(add(*list_of_args))
Run Code Online (Sandbox Code Playgroud)

前面的星号list_of_args展开了iterable,使其元素是参数a,b和c的值.

你能在F#做类似的事吗?具体来说,我正在寻找一个好的或惯用的F#解决方案,并且不想用反射等来解决问题.

f# iterable function-parameter

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

在asp中的gridview中使用eval获取此对象

我无处可寻.我想在gridview中的数据绑定表达式中引用行对象本身,如下所示:

<asp:TemplateField HeaderText="Description">
    <ItemTemplate>
        <asp:Label runat="server" 
                   Text = '<%# GetPendingReason(Eval("this")) %>' />                                    
    </ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为"this"不涉及任何属性.引用单个属性可以正常工作,但是如何引用当前行?

asp.net data-binding gridview eval

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

恢复tfs中的已删除文件

我有一个庞大的存储库.不久之前,一个名为FooBar.xml的文件已从tfs中的某个未知目录中删除.查找文件最简单的方法是什么?存储库中有数千个目录,因此手动检查每个目录以查找已删除的文件都不是一个可行的选择.

version-control tfs file-recovery undelete

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

当名称可能被修饰时使用 GetProcAddress

GetProcAddress()在 32 位 DLL 上使用的正确方法是什么?在 win32 上,共有三种调用约定,cdecl、stdcall 和 fastcall。如果 DLL 中的函数是foo他们将通过以下方式修饰名称_foo_foo@N并且@foo@N

但是如果 dll 的作者使用了 .def 文件,那么导出的名称将更改为“foo”,没有任何修饰。

这给我带来了麻烦,因为如果我想foo从使用 stdcall 的 dll加载,我应该使用装饰名称:

void *h = LoadLibraryEx(L"foo.dll", NULL, 0);
GetProcAddres((HMODULE)h, L"_foo@16");
Run Code Online (Sandbox Code Playgroud)

或未装饰的:

void *h = LoadLibraryEx(L"foo.dll", NULL, 0);
GetProcAddres((HMODULE)h, L"foo");
Run Code Online (Sandbox Code Playgroud)

? 我应该猜吗?我查看了很多 32 位 DLL 文件(stdcall 和 cdecl),它们似乎都导出了未修饰的名称。但是你能假设情况总是如此吗?

winapi calling-convention stdcall getprocaddress name-decoration

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