【发布时间】:2013-05-16 14:35:55
【问题描述】:
我熟悉 C# 中的泛型和泛型约束等,至少在我看到这个之前我是这么认为的。我在 Fluent Validation Library 中查看这个接口,它让我很震惊,这行代码是什么意思?
public interface IValidator<in T> : IValidator, IEnumerable<IValidationRule>, IEnumerable
特别是<in T>sn-p 代码。
这是完整的界面供参考。 (http://fluentvalidation.codeplex.com/SourceControl/latest#src/FluentValidation/IValidator.cs)
#region
Assembly FluentValidation.dll, v4.0.30319
#endregion
using FluentValidation.Results;
using System.Collections;
using System.Collections.Generic;
namespace FluentValidation
{
// Summary:
// Defines a validator for a particualr type.
//
// Type parameters:
// T:
public interface IValidator<in T> : IValidator, IEnumerable<IValidationRule>, IEnumerable
{
// Summary:
// Sets the cascade mode for all rules within this validator.
CascadeMode CascadeMode { get; set; }
// Summary:
// Validates the specified instance.
//
// Parameters:
// instance:
// The instance to validate
//
// Returns:
// A ValidationResult object containing any validation failures.
ValidationResult Validate(T instance);
}
}
【问题讨论】:
-
当您在可能的第一行研究中将“C# generics in T”输入您喜欢的搜索引擎时,这些结果是否没有帮助?
-
那你为什么不把这些词或类似的东西输入你喜欢的搜索引擎呢?请记住,我们希望您在提问之前进行自己的研究。否决工具提示文本开始为“此问题未显示任何研究工作。”