C# 创建方法:NullReferenceException错误
我对C#很陌生,所以请容忍我 这是我现有的代码块C# 创建方法:NullReferenceException错误,c#,nullreferenceexception,C#,Nullreferenceexception,我对C#很陌生,所以请容忍我 这是我现有的代码块 public static class DummyClassName { public static T DummyTemplateFunc1<T>(DummyInterfaceName aaa1, Func<T> action1) { T DummyVal1 = action1(); { string strVal = aaa1.Somethi
public static class DummyClassName
{
public static T DummyTemplateFunc1<T>(DummyInterfaceName aaa1, Func<T> action1)
{
T DummyVal1 = action1();
{
string strVal = aaa1.SomethingInInterface();
// similar code
}
return DummyVal1;
}
public static T DummyTemplateFunc2<T>(DummyInterfaceName aaa1, Func<T> action2)
{
T DummyVal2 = action2();
{
string strVal = aaa1.SomethingInInterface();
// similar code
}
return DummyVal2;
}
}
测试时出现错误
我做错了什么?有人能提出解决方案吗?公共静态T DummyTemplateFunc2(DummyInterfaceName aaa1,Func action2)
public static T DummyTemplateFunc2<T>(DummyInterfaceName aaa1, Func<T> action2)
{
T DummyVal1 = action1();
DummyMethodName(aaa1);
return DummyVal1;
}
{
T DummyVal1=action1();
DummyMethodName(aaa1);
返回DummyVal1;
}
使用
action1
的行应该使用action2
,对吗action1
正在抛出一个空指针引用,因为它不知道在哪里查找它,因为它不在您的方法的范围内。具体在哪一行?使用调试器。使用调试器找出什么是null。在使用之前检查参数,如果null,则抛出异常。如何调用方法?@SonerGönül错误消息指向T DummyVal1=action1();线这有帮助吗?很抱歉,我在键入问题时出错了。我的目标是:您是否看到//类似的代码在代码块1中重复了两次?我需要为此创建一个单独的方法,并在两个现有模板内调用该方法。明白了吗?我明白你的意思,但是给我们看看你想概括的代码。这真的没什么帮助。我们现在只能说“将其提取到一个方法”,这与您的解释一样通用:)你能告诉我在代码块2中构造方法DummyMethodName的方法是否正确吗?忘了我犯的错误吧,我想。。?编辑你的问题,说明你想要什么。说明什么不起作用。。
"System.NullReferenceException: Object reference not set to an instance of an object."
public static T DummyTemplateFunc2<T>(DummyInterfaceName aaa1, Func<T> action2)
{
T DummyVal1 = action1();
DummyMethodName(aaa1);
return DummyVal1;
}