【发布时间】:2018-01-12 11:54:03
【问题描述】:
这个问题不是关于我可以用 [System.Obsolete] 标记的方法。我想忽略的方法是在我无法控制的 dll 中。
我使用包含对象扩展方法的第 3 方库。这会导致混乱,并可能在未来引起问题。 有没有办法在外部将此扩展方法(或某个 dll 中的所有扩展方法)标记为已过时或防止此扩展方法出现在智能感知中。有问题的方法是:
public static class ExtensionMethods
{
public static bool IsNumeric(this object obj)
{
if (obj == null)
return false;
return obj.GetType().IsPrimitive || obj is double || (obj is Decimal || obj is DateTime) || obj is TimeSpan;
}
}
【问题讨论】:
-
它是否在您可以安全忽略的命名空间中?
-
@DanielA.White 是的,但我只想忽略扩展方法,而不是整个 dll 或命名空间
-
链接的问题真的是重复的吗?这个问题是关于在你控制的 own 程序集中标记一个方法。这个问题是关于在第 3 方大会中标记的,你无法控制。我已经投票决定重新开放。
-
最好的方法是使用Live Code Analyzer。不幸的是,创建它们并非易事,尽管这将是更简单的一种。
-
我决定利用这个机会尝试创建我的第一个实时代码分析器。它进展...不太顺利,但我会在完成后为您发布代码。你想阻塞的方法的全名(包括命名空间、类和方法名)是什么?
标签: c# .net dll extension-methods