У меня есть этот класс для даты возвращения:
public class OperationResult<TResult>
{
public TResult Result { get; private set; }
public bool Success { get; private set; }
public string ErrorMessage { get; private set; } = null;
public Exception Exception { get; private set; } = null;
public static OperationResult<TResult> BuildSuccessResult(TResult result)
{
return new OperationResult<TResult> { Success = true, Result = result };
}
public static OperationResult<TResult> BuildFailure(string errorMessage)
{
return new OperationResult<TResult> { Success = false, ErrorMessage = errorMessage };
}
public static OperationResult<TResult> BuildFailure(Exception ex)
{
return new OperationResult<TResult> { Success = false, Exception = ex };
}
public static OperationResult<TResult> BuildFailure(Exception ex, string errorMessage)
{
return new OperationResult<TResult> { Success = false, Exception = ex, ErrorMessage = errorMessage };
}
}
Я использую это для результата функции:
public async Task<OperationResult<IEnumerable<TResult>>> GetAll<TResult>(string spName)
{
using (var connection = new SqlConnection(configration.ReportingConnection))
{
try
{
connection.Open();
var query = await connection.QueryAsync<TResult>(spName);
if (query != null)
{
var res= OperationResult<IEnumerable<TResult>>().BuildSuccessResult(query);
}
return new OperationResult<IEnumerable<TResult>>().BuildFailure("Error When Getting Date form DateBase");
}
catch (Exception ex)
{
return OperationResult<IEnumerable<TResult>>().BuildFailure(ex,"");
}
finally
{
connection.Close();
}
}
}
, но он показывает мне эту ошибку в этой строке:
Невозвратный элемент OperationResult нельзя использовать как метод.
в этой строке:
var res= OperationResult<IEnumerable<TResult>>().BuildSuccessResult(query);
или показать эту ошибку
Member 'OperationResult> .BuildFailure (строка) 'не может быть доступен со ссылкой на экземпляр; вместо этого укажите имя типа AdminPanelGetWay.DAL.Dapper
в этой строке
return new OperationResult<IEnumerable<TResult>>().BuildFailure("Error When Getting Date form DateBase");
Теперь в чем проблема? как я могу решить эту проблему ????