【发布时间】:2014-05-14 16:28:59
【问题描述】:
我不确定我想要做什么实际上是可能的。
我想创建一个新的自定义属性,当声明该属性时,用户会创建一个新对象。
我正在查看 Lucene.Net,我想为我的类属性添加一个自定义属性,这样我就可以确定多个参数。
这是我的自定义属性,它包含一个 Lucene.Net 字段对象:-
[AttributeUsage(AttributeTargets.Property)]
public class PropertyAnalysed : Attribute
{
public Field Field;
public PropertyAnalysed(Field field)
{
this.Field = field;
}
}
当我在属性上声明自定义属性时,我想做以下事情:-
[LuceneIndex("SampleIndex")]
public class SampleClass
{
[LuceneProperty]
[PropertyAnalysed(new Field("","",Field.Store.YES, Field.Index.ANALYZED))]
public int Id { get; set; }
}
但是,我收到以下错误:-
"属性参数必须是常量表达式,typeof 属性参数的表达式或数组创建表达式 类型”
谁能帮我做点什么?
【问题讨论】:
标签: c# attributes custom-attributes