我有一个类似这样的类。
我希望它能够进行自动类型转换,这样我就可以像使用字符串一样使用它。到目前为止,我已经让它在许多地方都可以使用而不需要显式转换。然而,我无法找到一种方法来调用字符串函数而不进行显式转换。
例如,我想让这个工作。
有没有办法让它按照我的意愿工作?谢谢。
public class ForeignKey {
public string Id {get;}
public TableA TableA {get;}
public TableB TableB {get;}
public static implicit operator string(ForeignKey obj){ return obj.Id; }
public override string ToString() { return Id; }
/* various operator overloads */
}
我希望它能够进行自动类型转换,这样我就可以像使用字符串一样使用它。到目前为止,我已经让它在许多地方都可以使用而不需要显式转换。然而,我无法找到一种方法来调用字符串函数而不进行显式转换。
例如,我想让这个工作。
if (Key.EndsWith(someValue))
目前我必须这样做
if (((string)Key).EndsWith(someValue))
// or
if (Key.Id.EndsWith(someValue))
有没有办法让它按照我的意愿工作?谢谢。
EndsWith
方法,可以将其作为实例方法或扩展方法。 - user47589