我环顾四周试图理解如何SetInterval但只找到了如何使用它.我已经知道它的功能,我只是好奇当JS不支持线程时它是如何能够在单独的线程上运行的(至少这是我读过的).
我希望我能正确地提出这个问题.
谢谢.
我有一个方法,异常变量作为参数.此异常有时可以从自定义异常继承其他值,除了它的默认值之外,我想知道如何在不转换为自定义异常对象或验证的情况下访问这些自定义值HResult(由于方法的参数如何,这将始终相同) ).
例如,在某些情况下,异常对象可以继承列表,但我无法访问此列表.要使此方法返回正确的值,我必须首先找到识别异常的方法,并且通过访问继承的值,我将能够.
这是我到目前为止所尝试的:
- 异常处理方法 -
private string ExceptionHandler(Exception ex)
{
var customExceptionMessages = string.Empty;
//I want to avoid this
var customException = ex as CustomException;
if (customException != null)
{
//Build custom exception message
foreach (var v in customException.CustomViolations)
{
customExceptionMessages += v.ErrorMessage + "<br />";
}
return customExceptionMessages;
}
else
return ex.Message;
}
Run Code Online (Sandbox Code Playgroud)
- 使用示例 -
ExceptionHandler(customEx);
Run Code Online (Sandbox Code Playgroud)
调试之后,我注意到在ExceptionHandler运行之前,customEx 它有用户定义的值.之后ExceptionHandler开始运行,ex继承异常,加上自定义的默认值.我不能只说ex.CustomViolations因为这只存在于运行时.
我一直在更新公司的软件,偶然发现了这个问题.这个枚举是受保护的,我想从枚举中传递一个值作为静态方法的参数,但我不能导致我无法访问它,即使方法和枚举都在同一个类中.
例:
Class SomeClass
{
protected enum Car
{
Id
};
public static void AMethod(Car enumValue)
{
MessageBox.Show("This is an enum:" + enumValue.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
我不能使用它Car enumValue作为参数AMethod因为我无法访问它.为什么我不能这样做?我的意思是他们在同一个班级.我错过了什么吗?