我想为以下代码创建通用构造函数。
由于在以下情况下将添加不同的枚举。我希望该类是通用的。
using System.Runtime.Serialization;
using TT.SharedServices.Utils;
namespace TT.Core
{
[DataContract(Namespace = "SharedServices")]
public class Error
{
/// <summary>
/// Gets or Sets Error Code
/// </summary>
[DataMember]
public int ErrorCode { get; set; }
/// <summary>
/// Gets or Sets detailed error message
/// </summary>
[DataMember]
public string ErrorMessage { get; set; }
public Error()
{
ErrorMessage = NullValues.NullString;
ErrorCode = NullValues.NullInt;
}
public Error(AuthenticateErrorType errorType, string errorMessage)
{
ErrorCode = (int) errorType;
ErrorMessage = errorMessage;
}
public Error(LoadMemberErrorType errorType, string errorMessage)
{
ErrorCode = (int)errorType;
ErrorMessage = errorMessage;
}
}
}
建议我克服这种情况的最佳优化方法?
最佳答案
您可以使用非通用代码,例如
public Error(Enum errorType, string errorMessage)
{
ErrorCode = (int)(object)errorType;
ErrorMessage = errorMessage;
}
无论如何,Generis不会提供太多帮助
关于c# - 需要C#中的泛型构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21280608/