2
當寫上使用微軟的代碼契約接口代碼合同,一個創建一個包含所有合同的抽象合同類:創建ReSharper的命名風格爲C#合同類
using System.Diagnostics.Contracts;
[ContractClass(typeof(ICollectionContract<>))]
public interface ICollection<T> {
// Interface methods
}
[ContractClassFor(typeof(ICollection<>))]
abstract class ICollectionContract<T> : ICollection<T> {
// Interface contracts
}
微軟的慣例是名合同類別與界面相同,但後綴爲Contract
,例如ICollectionContract<T>
。 但是,Resharper不是命名的粉絲 - 部分原因是抽象類的I
前綴。
有沒有一種方法可以創建一個命名風格,告訴Resharper合同類(使用ContractClassFor
註解的那些)必須與接口名稱相同,但後綴爲Contract
?