我想为以下代码创建通用构造函数。

由于在以下情况下将添加不同的枚举。我希望该类是通用的。

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/

10-10 11:30