方法不适用于代码属性?

时间:2012-02-06 10:05:02

标签: .net vb.net attributes

我的应用程序中有几个共享方法,用于与ObjectDataSource(以及其他基于反射的对象)一起使用。它们处理大量的自动参数检查,过滤等。但是,它们都是一次性使用方法(它们在每次调用时都会重建所有内容)。对于直接编写代码来调用实例方法以便所有过滤等都存储在调用之间会更好。

我可以添加一个属性来指示我的方法吗?最好的方法是它会阻止在没有反射的情况下调用该方法。第二好的是发出警告说该方法使用错误。

以下是我想要实现的一个示例:

<MethodNotIntendedForCode()> _
Public Shared Function DataAccessMethod(Parameters....) As ObjectQuery(Of DataType)

1 个答案:

答案 0 :(得分:2)

你可以尝试:

<Obsolete("This isn't the method you are looking for")>

如果在代码中调用,将创建警告。如果直接调用,您还可以使用ObsoleteAttribute上的选项将其标记为错误(在编译时)。

显然,另一个选择就是让它不公开。此处的其他有用属性包括EditorBrowsableAttributeBrowsableAttribute