0
WCFで列挙型の拡張メソッドを使用しようとしています。WCFの列挙型に拡張メソッドを使用できません
StatusCode status = StatusCode.Closed;
string test = status.ToDescription(); // The Error is here
しかし、私はエラーをgetingています:その後、私は説明を抽出しようと
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;
using System.ComponentModel;
using AttributesHelperExtensionNameSpace;
namespace Ratu
{
[DataContract]
public enum StatusCode
{
[EnumMember]
[Description("C")]
Closed = 0,
[EnumMember]
[Description("A")]
Cancelled = 1
}
}
namespace AttributesHelperExtensionNameSpace
{
public static class AttributesHelperExtension
{
public static string ToDescription(this Enum value)
{
var da = (DescriptionAttribute[])(value.GetType().GetField(value.ToString())).GetCustomAttributes(typeof(DescriptionAttribute), false);
return da.Length > 0 ? da[0].Description : value.ToString();
}
}
}
:ここでは拡張メソッドを持つクラスがある
Ratu.StatusCode does not contain a definition for 'ToDescription' and no extension method 'ToDescription' accepting a first argument of type 'Ratu.StatusCode' could be found (are you missing a using directive or an assembly reference?)
理由にすべてのヘルプToDescriptionは利用できません。ありがとう。
(DescriptionAttribute)da [0])で再度キャストを強制する説明 –
拡張メソッドを使用しようとするコードで 'AttributesHelperExtensionNameSpace;'を使用していますか?あなたが 'AttributesHelperExtension.ToDescription(状態)'を試してみたら? – juharr