string.Contains
RabbitMq タグのようなものを表すクラスを持つのと同様の動作のインターフェイスが必要です。122が false になり、1が true'1.222.3331.1'
になると言います。.Contains(
)
.Contains(
)
私は試した:
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>
ジェネリックを使用するすべてのインターフェイスを作成する必要があり、それは望ましくありません。非一般的な方法はありますか?