如标题描述.我先进System.ComponentModel
using System;
namespace System.ComponentModel
{
public class DisplayNameAttribute : Attribute
{
public virtual string DisplayName { get; }
}
}
跟进去看了一下,DisplayName只有GET,没有SET,所以不知道如何重写,请高手赐教.
是不是这里压根就用不着?
using System;
namespace System.ComponentModel
{
public class DisplayNameAttribute : Attribute
{
public virtual string DisplayName { get; }
}
}
跟进去看了一下,DisplayName只有GET,没有SET,所以不知道如何重写,请高手赐教.
是不是这里压根就用不着?
解决方案 »
- 【C#操作XML的问题】XmlDocument.CreateElement生成的怎么是半个标签。。。
- C#中关于XML的,很急!请高手指导
- 无法添加一条记录到数据库
- 用c#两个checkbox,选中一个加100,选中另一个加400,
- SerialPort类编写串口通讯的问题
- combobox中item显示两列数据,但选择item怎么使combobox.text只显示一列数据
- 简单EXCEL问题,送分
- 救救我
- 请问在.cs文件里面可以使用System.Web.Caching.Cache或者类似的机制嘛?
- 如何实现点击CheckListBox一项,不回发.在客户端的一个ListBox里面增加一项.
- Csla.net,在工程中怎么引用?
- 关于Winform的屏幕刷新问题
继承一下,override掉,返回自己的值,标记特性的时候用自己的类
我override,只能覆盖GET,没办法SET,因为VIRTUAL没有提供SET
如何解决呢?
谢谢
这里你可以用Get重写自己的逻辑了,为什么要Set,对于Attribute有了Set有什么用呢?Attribute是元数据,写死在Assembly内!就算有了Set,谁去调用?
public ArrayValue[] Members1
{
get
{
return _Members1;
}
set
{
_Members1 = value;
}
}
就是我如何修改这个DISPLAYNAME里面的值.
请教大家,谢谢
{
public override string DisplayName
{
get { return DisplayNameDictionary.GetDisplayName(base.DisplayName); }
}
}public static class DisplayNameDictionary
{
public static string GetDisplayName(string key)
{
//...
}
public static void SetDisplayName(string key, string displayName)
{
//...
}
}
这样还不理解的话,我就放弃了。
在我的DISPLAYNAME右边总是显示:"ArrayValue[] Array",根据您看到的上面的代码如9楼所写.如何把这个显示变成我想要的,比如:"请您在此点击修改".
十分感谢