C# 如何在当前代码中限制给定方法/类的使用
在C#中,C# 如何在当前代码中限制给定方法/类的使用,c#,deprecated,obsolete,C#,Deprecated,Obsolete,在C#中,[过时]可用于“代码作者”标记代码过时 但是,“代码用户”是否有方法标记方法/类在其代码中受到限制 在C++(Visual C++)中,我们或多或少有语法>表示< /代码>。C#中有对应的词吗 比如说, .Net在System.Runtime.InteropServices.Marshal类中提供了Marshal.SizeOf()方法。我不想在代码中使用Marshal.SizeOf(),但需要在Marshal类中使用一些其他方法。除了用眼睛检查代码外,我如何在代码中应用策略。。。(使用
[过时]
可用于“代码作者”标记代码过时
但是,“代码用户”是否有方法标记方法/类在其代码中受到限制
<>在C++(Visual C++)中,我们或多或少有<代码>语法>表示< /代码>。C#中有对应的词吗
比如说,
.Net在System.Runtime.InteropServices.Marshal
类中提供了Marshal.SizeOf()
方法。我不想在代码中使用Marshal.SizeOf()
,但需要在Marshal
类中使用一些其他方法。除了用眼睛检查代码外,我如何在代码中应用策略。。。(使用代理类/等对于此目的来说太重。)
如果是这样,只需使用
[过时(字符串,bool)]
version(),并将bool
参数设置为true
,编译器将为该方法的使用发出错误是关于在您自己的dll/库中限制类/方法吗?如果是这样,请尝试内部修饰符。我不认为我们可以将类限制为特定的代码,除非我们以编程方式检查调用堆栈,如果它不是来自我们的代码,则抛出异常。我想限制System/3rd库的使用,而不是我的代码。换句话说,我想限制导入
而不是导出
,如果我们不能直接限制代码中的使用,即使编译器扩展解决方案(LINT等)也是可以接受的。如果不太重,我可以自己制作。我期待C++中的这种功能很长一段时间。现在又在C#。