using static System.Console;
using Kitty.Core.Blocks;
public class Program {
public static void Main() {
var bloco1 = new Block<string>("título", "conteúdo");
var bloco2 = new Block<string>("título2", "conteúdo2");
WriteLine(bloco1.Equals(bloco2));
WriteLine(bloco1.Equals(bloco1));
}
}
namespace Kitty.Core.Blocks {
class Block<T> {
public string Title { get; private set; }
public T Contents { get; private set; }
public Block(string title, T contents) {
this.Title = title;
this.Contents = contents;
}
public override bool Equals(object obj) {
Block<T> other = obj as Block<T>;
if (other == null) return false;
return Title == other.Title;
}
}
}
//https://pt.stackoverflow.com/q/123930/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBLaXR0eS5Db3JlLkJsb2NrczsKCQkJCQkKcHVibGljIGNsYXNzIFByb2dyYW0gewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CgkJdmFyIGJsb2NvMSA9IG5ldyBCbG9jazxzdHJpbmc+KCJ0w610dWxvIiwgImNvbnRlw7pkbyIpOwoJCXZhciBibG9jbzIgPSBuZXcgQmxvY2s8c3RyaW5nPigidMOtdHVsbzIiLCAiY29udGXDumRvMiIpOwoJCVdyaXRlTGluZShibG9jbzEuRXF1YWxzKGJsb2NvMikpOwoJCVdyaXRlTGluZShibG9jbzEuRXF1YWxzKGJsb2NvMSkpOwoJfQp9CgpuYW1lc3BhY2UgS2l0dHkuQ29yZS5CbG9ja3MgewogICAgY2xhc3MgQmxvY2s8VD4gewogICAgICAgIHB1YmxpYyBzdHJpbmcgVGl0bGUgeyBnZXQ7IHByaXZhdGUgc2V0OyB9CiAgICAgICAgcHVibGljIFQgQ29udGVudHMgeyBnZXQ7IHByaXZhdGUgc2V0OyB9CgogICAgICAgIHB1YmxpYyBCbG9jayhzdHJpbmcgdGl0bGUsIFQgY29udGVudHMpIHsKICAgICAgICAgICAgdGhpcy5UaXRsZSA9IHRpdGxlOwogICAgICAgICAgICB0aGlzLkNvbnRlbnRzID0gY29udGVudHM7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgYm9vbCBFcXVhbHMob2JqZWN0IG9iaikgewogICAgICAgICAgICBCbG9jazxUPiBvdGhlciA9IG9iaiBhcyBCbG9jazxUPjsKCQkJaWYgKG90aGVyID09IG51bGwpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIFRpdGxlID09IG90aGVyLlRpdGxlOwogICAgICAgIH0KICAgIH0KfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMTIzOTMwLzEwMQ==