2

我有MyObj一个Width有财产的班级。
我需要从 MyObj 中删除该属性以MyObjWrapper包装 MyObj。
我这样使用它:

Dim _MyObjWrapper As MyObjWrapper = New MyObjWrapper(_myObj)
Dim theWidth as Integer = _MyObjWrapper.Width

要选择我使用的 MyObj 的特定宽度

Dim q = From mo In myContainer.GetMyObjs() 
        Where mo.Width > 50 
        Select mo.Width Distinct

现在,如果Width不再属于 MyObj,我想使用mo.Width来代替moWrapper.Width

Dim q = From mo In myContainer.GetMyObjs() 
        Where New MyObjWrapper(mo).Width > 50 
        Select New MyObjWrapper(mo).Width Distinct

有没有办法使用包装器的构造函数 MyObjWrapper(mo) 的 2 倍?

4

1 回答 1

3

My VS install is acting crazy right now, so I couldn't test this, but try something like:

Dim q = From mo In myContainer.GetMyObjs() 
        Let someObj = New MyObjWrapper(mo)
        Where someObj.Width > 50 
        Select someObj.Width.Distinct
于 2013-06-12T13:25:32.443 回答