怎么在接口属性的get或set方法上添加特性?

vwxyzh 2007-10-11 05:31:40
简单的说就是c#中的:
public interface IBar
{
int Value { [Foo] get; [Foo] set; }
}

[AttributeUsage(AttributeTargets.Method)]
public sealed class FooAttribute : Attribute
{
public FooAttribute() { }
}
怎么在vb.net中写?
...全文
292 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vwxyzh 2007-10-15
  • 打赏
  • 举报
回复
难道此题无解?

up
vwxyzh 2007-10-15
  • 打赏
  • 举报
回复
工作需要。。。
能用c#我早就用c#了。。。
读取这个特性的类只接受一个接口类型,然后反射这个接口中的方法得到特性,再根据接口和特性Emit某个类型
因此,也无法改成基类
水如烟 2007-10-15
  • 打赏
  • 举报
回复
那这个dll你就用C#编吧.
否则你只能用Classbase来代替接口了.
vwxyzh 2007-10-15
  • 打赏
  • 举报
回复
....
不能改,因为读取这个特性的类本来就只能处理方法,不能处理属性
水如烟 2007-10-15
  • 打赏
  • 举报
回复
将AttributeTargets.Method改为AttributeTargets.Property

比如:
Public Interface IBar
<Foo()> _
Property Value() As Integer
End Interface

<AttributeUsage(AttributeTargets.Property)> _
Public NotInheritable Class FooAttribute
Inherits Attribute
End Class
vwxyzh 2007-10-12
  • 打赏
  • 举报
回复
问题的核心是:
在VB.Net里面,IBar接口的Value属性怎么写
FooAttribute无所谓,但是FooAttribute一定是一个只能用在方法上的特性
vwxyzh 2007-10-12
  • 打赏
  • 举报
回复
等待解答

up
北京的雾霾天 2007-10-11
  • 打赏
  • 举报
回复
好像可以的:

public interface IBar
{
int Value { [Foo] get; [Foo] set; }
}

<AttributeUsage(AttributeTargets.Method) > _
public sealed class FooAttribute : Attribute
{
public FooAttribute() { }
}
北京的雾霾天 2007-10-11
  • 打赏
  • 举报
回复
不知道这样行不行,没有测试:

<AttributeUsage(AttributeTargets.Method)> _


16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧