0
讓我開始說,我不知道這個具體的需要自定義屬性,但DisplayFormatAttribute
最符合我正在尋找的意圖。用於指定顯示格式的自定義屬性
我想
我希望能夠指定一個字符串格式類的屬性,像這樣:
public class TestAttribute
{
[CustomDisplayFormatAttribute(DataFormatString = "{0}")]
public int MyInt { get; set; }
[CustomDisplayFormatAttribute(DataFormatString = "{0:0.000}")]
public float MyFloat { get; set; }
[CustomDisplayFormatAttribute(DataFormatString = "{0:0.0}")]
public float MyFloat2 { get; set; }
[CustomDisplayFormatAttribute(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime MyDateTime { get; set; }
}
...並且能夠使用它像這樣:
TestAttribute t = new TestAttribute()
{
MyDateTime = DateTime.Now,
MyFloat = 1.2345678f,
MyFloat2 = 1.2345678f,
MyInt = 5
};
Console.WriteLine(t.MyDateTime.ToFormattedString());
Console.WriteLine(t.MyFloat.ToFormattedString());
Console.WriteLine(t.MyFloat2.ToFormattedString());
Console.WriteLine(t.MyInt.ToFormattedString());
我有這麼遠完成
我已經成功地創建自定義屬性CustomDisplayFormatAttribute
,並把它應用到我的元素,但我不能讓這個屬性了沒有我TestAttribute
類的知識。
我的第一個想法是使用擴展方法來處理它,因此ToFormattedString()
函數。
這就是說,理想情況下我可以調用像ToFormattedString()
這樣的函數,並讓它處理查找顯示格式並將值應用於它。
我的問題
- 這可能使用C#
- 我怎樣才能得到這個(或類似)的功能。