我正在創建一個內部類來爲合同模式提供構造。隱藏等於和ReferenceEquals
using System;
using System.Runtime.Serialization;
namespace DCS2000.Common35.Core
{
public class Assertion
{
public static void Ensure(bool test)
{
if (!test)
{
throw new PreconditionException("Precondition test failed");
}
}
public static void Ensure(object obj)
{
if (obj == null)
{
throw new PreconditionException("Precondition null object failed");
}
}
public static void Require(bool test)
{
if (!test)
{
throw new PostconditionException("Postcondition test failed");
}
}
public static void Require(object obj)
{
if (obj == null)
{
throw new PostconditionException("Postcondition null object failed");
}
}
}
}
當開發人員去使用他們將在智能感知認爲這些選項:
- 確保
- 的Equals
- 的ReferenceEquals
- 要求
這是混亂,我想知道是否有一個隱藏Equals和ReferenceEquals的方法。
注:我已經嘗試過這一點,但它並沒有爲我工作:
[EditorBrowsable(EditorBrowsableState.Never)]
public override bool Equals(object obj)
{
return base.Equals(obj);
}
這工作很好!謝謝。我發現在我最常用的對象中找到未使用的方法非常有用 - 特別是如果它使用流暢的界面。 – smdrager 2012-06-06 13:43:05