ActiveRecord T4 テンプレートで SubSonic 3 を使用している間、生成されたコードは、CLS 準拠、未使用の項目、および GetHashCode() 実装の欠如に関する多くの警告を示します。
それらを回避するために、次の変更を行いました。
// Structs.tt
[CLSCompliant(false)] // added
public class <#=tbl.CleanName#>Table: DatabaseTable
{ ...
// ActiveRecord.tt
[CLSCompliant(false)] // added
public partial class <#=tbl.ClassName#>: IActiveRecord
{
#region Built-in testing
#pragma warning disable 0169 // added
static IList<<#=tbl.ClassName#>> TestItems;
#pragma warning restore 0169 // added
...
public override Int32 GetHashCode() // added
{
return this.KeyValue().GetHashCode();
}
...
警告を取り除くためのより良い方法はありますか? または、より良い GetHashCode() 実装ですか?