Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在当前代码中限制给定方法/类的使用_C#_Deprecated_Obsolete - Fatal编程技术网

C# 如何在当前代码中限制给定方法/类的使用

C# 如何在当前代码中限制给定方法/类的使用,c#,deprecated,obsolete,C#,Deprecated,Obsolete,在C#中,[过时]可用于“代码作者”标记代码过时 但是,“代码用户”是否有方法标记方法/类在其代码中受到限制 在C++(Visual C++)中,我们或多或少有语法>表示< /代码>。C#中有对应的词吗 比如说, .Net在System.Runtime.InteropServices.Marshal类中提供了Marshal.SizeOf()方法。我不想在代码中使用Marshal.SizeOf(),但需要在Marshal类中使用一些其他方法。除了用眼睛检查代码外,我如何在代码中应用策略。。。(使用

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

但是,“代码用户”是否有方法标记方法/类在其代码中受到限制

<>在C++(Visual C++)中,我们或多或少有<代码>语法>表示< /代码>。C#中有对应的词吗

比如说,

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


>语法>表示“< /代码>”的作用有限。

< p>我不确定你到底在问什么,如果使用了不推荐的方法,你是不是试图让编译器发出一个错误?< /p>
如果是这样,只需使用
[过时(字符串,bool)]
version(),并将
bool
参数设置为
true
,编译器将为该方法的使用发出错误

是关于在您自己的dll/库中限制类/方法吗?如果是这样,请尝试内部修饰符。我不认为我们可以将类限制为特定的代码,除非我们以编程方式检查调用堆栈,如果它不是来自我们的代码,则抛出异常。我想限制System/3rd库的使用,而不是我的代码。换句话说,我想限制
导入
而不是
导出
,如果我们不能直接限制代码中的使用,即使编译器扩展解决方案(LINT等)也是可以接受的。如果不太重,我可以自己制作。我期待C++中的这种功能很长一段时间。现在又在C#。