Yuebon.NetCore/Yuebon.Commons/Data/Check.cs
(开头部分) 11KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Diagnostics;
using System.IO;
using Yuebon.Commons.Properties;
namespace Yuebon.Commons.Data
{
/// <summary>
/// 参数合法性检查类
/// </summary>
[DebuggerStepThrough]
public static class Check
{
/// <summary>
/// 验证指定值的断言<paramref name="assertion"/>是否为真,如果不为真,抛出指定消息<paramref name="message"/>的指定类型<typeparamref name="TException"/>异常
/// </summary>
/// <typeparam name="TException">异常类型</typeparam>
/// <param name="assertion">要验证的断言。</param>
/// <param name="message">异常消息。</param>
private static void Require<TException>(bool assertion, string message)
where TException : Exception
{
if (assertion)
{
return;
}
if (string.IsNullOrEmpty(message))
{
throw new ArgumentNullException(nameof(message));
}
TException exception = (TException)Activator.CreateInstance(typeof(TException), message);
throw exception;
}
/// <summary>
/// 验证指定值的断言表达式是否为真,不为值抛出<see cref="Exception"/>异常
/// </summary>
/// <param name="value"></param>
/// <param name="assertionFunc">要验证的断言表达式</param>
/// <param name="message">异常消息</param>
public static void Required<T>(T value, Func<T, bool> assertionFunc, string message)
{
if (assertionFunc == null)
{
throw new ArgumentNullException(nameof(assertionFunc));
}
Require<Exception>(assertionFunc(value), message);
}
/// <summary>
/// 验证指定值的断言表达式是否为真,不为真抛出<typeparamref name="TException"/>异常
/// </summary>
/// <typeparam name="T">要判断的值的类型</typeparam>
/// <typeparam name="TException">抛出的异常类型</typeparam>
/// <param name="value">要判断的值</param>
/// <param name="assertionFunc">要验证的断言表达式</param>
/// <param name="message">异常消息</param>
public static void Required<T, TException>(T value, Func<T, bool> assertionFunc, string message) where TException : Exception
{
if (assertionFunc == null)
{
后面还有 176 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。