我希望有一个行为接口,类似于string.Contains
说有一个代表 RabbitMq 标签之类的东西的类。说有'1.222.3331.1'
并在上面说.Contains(
122为)
假,.Contains(
1为)
真。
我试过了:
interface ITag
{
bool Contains(ITag tag);
}
然而,它的实施将仅限Contains
于ITag
提供以下内容:
class Tag : ITag
{
public bool Contains(ITag tag)
{
throw new NotImplementedException();
}
}
虽然我想拥有例如:
class Tag : ITag
{
public string s;
public bool Contains(Tag other)
{
return s.Contains(other.s);
}
}
我想知道我将什么描述为可实现的接口以及如何实现,是否有任何现成的 .Net 接口可以实现.Contains
?
我当然可以
interface ITag<T>
{
bool Contains(T tag);
}
而不是用类似的东西来实现它:
class Tag : ITag<Tag>
{
public Tag(string tag)
{
Content = tag;
}
public string Content { get; private set; }
public bool Contains(Tag other)
{
return other != null
&& other.Content != null
&& Content.Contains(other.Content);
}
}
然而,我需要制作所有使用ITag<T>
Generic 的接口,而这是不需要的。有非通用的方法吗?