C# 将方法添加到自动生成的类

C# 将方法添加到自动生成的类,c#,entity-framework,extension-methods,equals,edmx,C#,Entity Framework,Extension Methods,Equals,Edmx,如何将bool Equals(object obj)方法添加到自动创建的类中(在我的例子中是通过edmx模型) 我想说的一个解决方案是继承这个类并使用这个新类,但我正在寻找一些不同的东西。这个类是分部类,所以您可以创建一个新的分部类 public partial class MyClass { bool Equals(object obj) { // code here } } 该类是分部类,因此可以创建新的分部类 public partial class MyClass

如何将
bool Equals(object obj)
方法添加到自动创建的类中(在我的例子中是通过edmx模型)


我想说的一个解决方案是继承这个类并使用这个新类,但我正在寻找一些不同的东西。

这个类是分部类,所以您可以创建一个新的分部类

public partial class MyClass
{
  bool Equals(object obj)
  {
    // code here
  }
}

该类是分部类,因此可以创建新的分部类

public partial class MyClass
{
  bool Equals(object obj)
  {
    // code here
  }
}

您可以使用扩展方法

public static class ExM
{
    public static bool Equals(this MyClass obj1, MyClass obj2)
    {
        // code here
    }
}
它将在MyClass对象的Intellisense中添加方法
Equals
,这样当您这样调用它时

bool b = MyClassObject1.Equals(MyClassObject2);

您可以使用扩展方法

public static class ExM
{
    public static bool Equals(this MyClass obj1, MyClass obj2)
    {
        // code here
    }
}
它将在MyClass对象的Intellisense中添加方法
Equals
,这样当您这样调用它时

bool b = MyClassObject1.Equals(MyClassObject2);

使用扩展方法。请看清楚:是否要重写Equals?注意:如果重写Equals,则必须适当重写GetHashCode以使用扩展方法。请看清楚:是否要覆盖Equals?注意:如果覆盖Equals,则必须适当地覆盖GetHashCode是的,我也找到了这个解决方案,thanxYes,我也找到了这个解决方案,thanxI没有否决,但他要求将该方法添加为实例方法。你的解决方案是可行的,但这不是他想要的。我没有投反对票,但他要求添加该方法作为实例方法。你的解决方案可行,但这不是他想要的。