是否有可能拥有一个行为类似于字符串但允许我拥有一些附加属性的类?
具体来说,我希望能够做类似的事情
Dim A As MyClass ''Or New MyClass("InitialValue")
A = "Something"
If A = "SomethingElse" Then
End If
据我所见,我需要实现一种可以分配的类型,以便在构造函数中传递字符串:
egA = Something
应解释为A = New MyClass("Something")
. 此外,然后我需要覆盖比较运算符,以便If A = "SomethingElse" Then
可以由检查底层字符串值的代码处理
由于String
是密封的/不可继承的,而且 String 似乎在 .Net 中有一些特殊处理,所以我对如何处理这个问题感到有些困惑。
为了解释为什么需要它,我有一个实体类(不是 EF),它被序列化以生成针对搜索索引的查询。查询是通过针对我的实体指定 lambda 来创建的。
我现在需要修改实体上的某些属性,以便它们不是序列化为简单字符串(用于传递给搜索索引),而是复杂的对象。我无法控制序列化本身(目前在 Newtonsoft Json.Net 内部处理),所以我希望这将是一个(更快的)替代方案,允许我使用现有的 lambdas 等......