问题列表 - 第48405页

是类还是结构

我如何检查类型类或结构?

 protected   T GetNullValue<T>(IDataReader reader, int ordinalId)
    {
        if (reader.IsDBNull(ordinalId))
        {
            //if T is struct.....
            //else if I is class
        }
        return (T)reader.GetValue(ordinalId);
    }
Run Code Online (Sandbox Code Playgroud)

.net c#-4.0

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

RSpec错误:模拟"Employee_1"收到意外消息:to_ary with(no args)

我的应用程序有两个模型:用户和员工,他们的关系是用户has_many员工.

当我尝试为员工控制器编写Rspec测试用例时:

describe "GET 'edit'" do
  it "should get user/edit with log in" do
    log_in(@user)
    employee = mock_model(Employee, :id=>1, :user_id=>@user.id)
    get :edit, :id=>employee
    response.should be_success
  end
end
Run Code Online (Sandbox Code Playgroud)

我的结果如下:

....F

Failures:

  1) EmployeesController GET 'edit' should get user/edit with log in
     Failure/Error: get :edit, :id=>employee
       Mock "Employee_1" received unexpected message :to_ary with (no args)
     # C:in `find'
     # ./app/controllers/employees_controller.rb:41:in `edit'
     # ./spec/controllers/employees_controller_spec.rb:51:in `block (3 levels) in '

Finished in 4.31 seconds
5 examples, 1 failure

请有人帮我解决这个问题吗?谢谢

rspec ruby-on-rails

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

clearTimeout和setTimeout不起作用

作为这个问题的后续,我想知道为什么这不起作用

$("#textarea").keydown(function(){
oldValue = $("#textarea").val();
});
$("#textarea").keyup(function(){
var startTimer = null;
if(startTimer) clearTimeout(startTimer);
startTimer = setTimeout(function(){
var newValue = $("#textarea").val();
// get something out of the comparison
alert(something) // alert the comparison
  oldValue = newValue;

},2000);
Run Code Online (Sandbox Code Playgroud)

所需的行为是仅在用户未输入任何内容2秒时才收到警报消息.它适用于比较部分,但是,当我按原样键入时,它不会停止警报消息.相反,我得到的警报数量与按下的按键数量相同.我试过这个创建和删除cookie的版本,它工作得很好.这个特殊情况有什么问题?

javascript javascript-events settimeout

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

多条匹配路线

我有一个定义两个控制器的backbone.js应用程序,控制器都定义了与location.hash匹配的路由模式.我无法解决这两个问题 - 例如

ManagerController = Backbone.Controller.extend({
   routes: {
      ":name":      "doStuff"
   },

   doStuff : function(name) {
      console.log("doStuff called...");
   }
});

Component1Controller = Backbone.Controller.extend({
   routes: {
      "xyz123":      "doMoreStuff"
   },

   doMoreStuff : function() {
      console.log("doMoreStuff called...");
   }
});
Run Code Online (Sandbox Code Playgroud)

所以如果url是"http://mysite.com/#xyz123",那么我看到'doStuff()'被调用,或者如果我注释掉那条路线,那么调用'doMoreStuff()'.但不是两个.

我正在使用这种架构,因为我的页面是高度面向组件的,每个组件都定义了自己的Controller."组件管理器"还定义了一个控制器,它在所有路径上进行一些管理.

我是否应该能够配置两个响应相同路由的控制器?干杯,

科林

backbone.js

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

使用Scriptlet声明变量和使用Scriptlet声明变量之间有什么区别?

使用Scriptlet声明变量和使用Scriptlet声明变量之间有什么区别?

<%!  ... %>     :  in declaration
<% ...   %>     :  in scriplet
Run Code Online (Sandbox Code Playgroud)

jsp

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

MVC3视图无法找到添加的引用类

我的观点是在我的一个参考文献中找到一个类时遇到问题.此引用是在项目外部构建的dll.

视图总是出错:

找不到类型或命名空间名称"Company"(您是否缺少using指令或程序集引用)

这是控制器.没问题.

using Company.Entities;

public ActionResult Find()
{
    Person test = Person.SelectByADDistinguishedName("L*", false);
    return View(test);
}
Run Code Online (Sandbox Code Playgroud)

这是视图.该@Model行发生错误.

@model Company.Entities.Person

@{
    ViewBag.Title = "Bob";
}

<h2>Find</h2>
Run Code Online (Sandbox Code Playgroud)

我的Views/Web.config目前看起来像这样

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="Company.Entities" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

我检查了类似的线程这样的一个,但无济于事.

这是屏幕上的消息

Line 25:     using System.Web.Mvc.Html;
Line 26:     using System.Web.Routing;
Line 27:     using Company.Entities;
Line 28:     
Line 29:     


Source …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc reference asp.net-mvc-3

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

"静态合成"是什么意思?

我正在查看从Java字节码获取的一些反汇编代码.我看到一些声明如下:

.method static synthetic access$0()Lcom/package/Sample;
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚什么syntheticaccess$0意味.有人可以帮我理解这部分吗?

java bytecode disassembly java-synthetic-methods

25
推荐指数
2
解决办法
9303
查看次数

尝试将密码历史记录与SqlMembershipProvider创建的散列密码进行比较

我正在使用SqlMembershipProvider并将我的密码存储为哈希.我还在另一个表中保存(哈希)密码的历史记录.我希望能够将用户尝试更改密码的密码与旧密码进行比较,如果太近,则会抛出错误.我似乎无法弄清楚如何使用散列函数来执行此操作.基本上我要找的是这样的方法:

public bool PasswordCompare(string plaintextPassword, string salt, string hashedPassword)
{
    //where the salt and hashedPassword are pulled out of the aspnet_Membership table
    //which are automatically generated by the provider
}
Run Code Online (Sandbox Code Playgroud)

我希望这很清楚,谢谢.

c# asp.net asp.net-membership sqlmembershipprovider

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

检测Windows Phone 7的本国

有没有办法以编程方式找出当我的应用程序在手机上打开时用户手机所在的国家/地区?

我有一个我正在开发的应用程序可以使用lbs/kg单位,如果某人的手机来自美国,我想默认启用lbs,如果手机来自其他任何地方,我想默认显示kg.(请注意,我不需要考虑检查他们所连接的位置是否准确,因为可能是他们正在旅行或使用其他国家/地区的代理服务器).

silverlight windows-phone-7

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

C++确定是否使用调试符号进行编译而不定义预处理器符号

我一直在使用这样的东西:

int main(int argc, char *argv[])
{

#ifdef DEBUG
    printf("RUNNING DEBUG BUILD");
#else
    printf("Running... this is a release build.");
#endif
...
Run Code Online (Sandbox Code Playgroud)

但是,这需要我使用-DDEBUG进行编译以进行调试构建.GCC是否为我提供了一些方法来确定何时使用调试符号(-g标志)进行编译,例如定义我自己可以检查的预处理器宏?

c c++ debugging gcc

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