小编Bra*_*don的帖子

如何在C#中动态命名变量?

有没有办法动态命名变量?

我需要做的是从输入文件中获取变量名称列表,并使用这些名称创建变量.这可能吗?

就像是:

Variable <dynamic name of variable here> = new Variable(input);
Run Code Online (Sandbox Code Playgroud)

假设我已经处理了Variable类,并且变量的名称包含在一个名为的字符串中strLine.

c# variables dynamic-data

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

如何在Excel/VBA中获取RGB颜色的相应Hex值?

我正在尝试在我的VBA代码中设置一个颜色的公共const.通常,我可以使用:

Dim BLUE As Long
BLUE = RGB(183, 222, 232)
Run Code Online (Sandbox Code Playgroud)

但是,由于RGB功能,没有公共const的方法.我使用在线转换器将此RGB值转换为Hex,然后我找回了B7DEE8

使用:

BLUE = &HB7DEE8
Run Code Online (Sandbox Code Playgroud)

导致完全不同的颜色.我认为这实际上可能是RGBA颜色,我已经尝试了B7DEE8__并且颜色非常接近(最后一个数字是B8),但我想知道如何实际找到正确的值.

注意:我真的不需要代码将其转换为十六进制,我只需要知道如何找到它,因为我在Excel工作表上使用了五种常量颜色,我想设置它们.

excel vba colors excel-vba rgba

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

如何在使用MVC部分视图的任何成功的Ajax请求之后调用jQuery函数

我有jQuery代码,在渲染视图时运行正常.但是,我希望在Ajax请求成功后运行相同的代码.jQuery最初是在文档准备好时执行的,但是我将它移动到它自己的函数中,因此可以调用它.该函数为一些标签元素添加了一些简单的类.这是我到目前为止:

$(function () {
    afterLoad();
});

$.ajaxSetup({
    success: function () {
        afterLoad();
    }
});

function afterLoad() {
    // code to execute
}
Run Code Online (Sandbox Code Playgroud)

在发出简单的Ajax请求后,这不能正确执行:

$('#ajaxTest').load('<MVC Route>')
Run Code Online (Sandbox Code Playgroud)

部分视图返回正常,但afterLoad()尝试在局部视图之前运行在DOM中.如果我再次执行相同的调用,afterLoad()则运行(在前一个局部视图上),但是它会被新的局部视图覆盖.

有什么想法吗?另一种方法是没问题的,我正在寻找一个是在部署视图的Ajax请求之后运行站点级.js文件.母版页加载了site.js文件,我想在不重新加载文件的情况下执行它的代码(因为它已经被浏览器加载).另外,我不想强​​迫开发人员对他们的Ajax调用做任何不同的事情,所以它需要使用简单的.load()等等.

ajax jquery

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

在Firefox中防止jQuery keydown的默认事件

我有jQuery代码,它生成一个可聚焦元素数组,并绑定.keydown左右箭头以标记它们.在Chrome,IE和Safari开头preventDefault()或返回错误(这在技术上我不想用,因为我也没有必要结束stopPropagation())防止箭头的默认事件,但在Firefox它没有.

如何防止Firefox中的默认操作?

下面是代码,它按预期工作,除了在Firefox中,除了我的回调之外还会触发默认事件.

$(function () {
    var focusables = $(":focusable");
    focusables.eq(0).focus();
    focusables.eq(0).select();
    focusables.each(function () {
        $(this).keydown(function (e) {
            if (e.which == '37') { // left-arrow
                e.preventDefault();
                var current = focusables.index(this),
                    next = focusables.eq(current - 1).length ? focusables.eq(current - 1) : focusables.eq(0);
                next.focus();
                next.select();
            }
            if (e.which == '39') { // right-arrow
                e.preventDefault();
                var current = focusables.index(this),
                    next = focusables.eq(current + 1).length ? focusables.eq(current + 1) : focusables.eq(0);
                next.focus();
                next.select();
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

firefox jquery event-handling preventdefault

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

如何在Laravel中模拟Cache :: remember

在单元测试方法中,我尝试模拟这样的Cache::remember响应:

Cache::shouldReceive('remember')
    ->once()
    ->with('my_key', 120, function() {}) // There are 3 args in remember method
    ->andReturn([]);
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:

消息为“未找到Mockery_0_Illuminate_Cache_CacheManager :: remember的匹配处理程序”的异常“ Mockery \ Exception \ NoMatchingExpectationException”(“ my_key”,120,object(Closure))。该方法是意外的,或者其参数与该方法的预期参数列表不匹配

我不明白为什么会收到此错误,并且在Laravel文档中未找到任何关于此的内容。它说没有匹配项,但似乎匹配。

如何模拟Cache::remember回应?

php unit-testing laravel mockery laravel-5

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