C# 无法初始化SqlParameter
我有以下代码:C# 无法初始化SqlParameter,c#,sqlparameter,C#,Sqlparameter,我有以下代码: using System.Data.SqlClient; using OPN.SP_Services.Interface; using wwa.EPR.Services; namespace OPN.SP_Services { public class TestService : UnitOfWork<ClearviewLocalContext>, ITestService { public TestService(IDataCont
using System.Data.SqlClient;
using OPN.SP_Services.Interface;
using wwa.EPR.Services;
namespace OPN.SP_Services
{
public class TestService : UnitOfWork<ClearviewLocalContext>, ITestService
{
public TestService(IDataContext<ClearviewLocalContext> dataContext) : base(dataContext)
{
}
public void test()
{
var param = new SqlParameter();
}
}
}
namespace OPN.SP_Services.Interface
{
public interface ITestService
{
void test();
}
}
当我一步一步通过代码到达这一行时:
var param = new SqlParameter();
并检查变量,我在局部变量中看到以下内容:
有人能解释一下这里发生了什么吗?所有红色属性都是
内部属性,除非满足某些先决条件,否则这些属性不起作用。通常,您永远不会看到它们或无序访问它们,正是因为它们是内部的
。它们不需要像公共
属性那样表现良好。这就是说:public
属性在无效状态下访问时抛出异常并不罕见
基本上:这里没什么可担心的;没有问题;一切正常。这不是您在其他地方看到的任何问题的原因。是否有特定原因使您不将参数添加到SQLcommand?@FreekW。我正在使用IDataContext,并且有这个问题。我已经尝试了所有建议的解决方案,但都不起作用,我想知道这是否是问题的原因,所以我将其分离出来。对象的某些属性在“局部变量”窗口中显示为空引用异常是正常的,因为如果您的代码访问它们,就会发生这种情况。@stuartd您的意思是,除非我尝试访问其中一个null属性,否则此代码将正常执行吗?如果是这样,如果你把它作为答案,我会把它标记为正确的
_testService.test();
var param = new SqlParameter();