【发布时间】:2023-04-10 15:47:02
【问题描述】:
在使用带有 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() 实现?
【问题讨论】:
标签: activerecord subsonic subsonic3