2

在 C# 中,[Obsolete]可用于“代码作者”来标记代码已过时。

但是,“代码用户”是否有一种方法可以标记他/她的代码中限制了某个方法/类?

在 C++(Visual C++)中,我们#pragma deprecated或多或少地必须归档这个目的。C#中有对应的吗?

例如,

.Net在类中提供Marshal.SizeOf()方法。System.Runtime.InteropServices.Marshal我不想Marshal.SizeOf()在我的代码中使用,但在类中确实需要一些其他方法Marshal。除了用我的眼睛检查代码之外,我如何在代码中应用策略......(为此目的,使用代理类/等太重了。)

在 Visual C++ 中,#pragma deprecated用于此目的的功能有限。

4

1 回答 1

0

我不确定您到底在问什么,如果使用不推荐使用的方法,您是否试图让编译器发出错误?

如果是这样,只需使用[Obsolete(String, bool)]版本(MSDN 文档)并将bool参数设置为true,编译器将针对该方法的使用发出错误

于 2013-05-03T03:23:33.267 回答