如何从SPField捣毁SPFieldUser

时间:2012-02-01 16:33:38

标签: unit-testing moles

我正在使用Moles为我的SharePoint应用程序编写单元测试用例     我被困在下面的代码行中,我无法将SPField类型转换为SPFieldUser。

SField subfield = list.Fields.GetField("Subscriber");
SPFieldUser userfield = (SPFieldUser)subfield;
userfield.SelectionGroup = web.Groups["Focal Points"].ID; //error line shown in pex

I'm getting "NullReference" exception at the above line
Can someone guide me here..

1 个答案:

答案 0 :(得分:0)

虽然我相信你已经检查了这些......:

  1. GetField(“Subscriber”)是否返回一个对象?
  2. userfield是否设置为对象?
  3. userfield.SelectionGroup是否为null?
  4. 试试这个语法:
  5. SPFieldUser userfield = subfield as SPFieldUser;
    

    所以,这些都失败了。让我们检查SPFieldUser与SField的协方差。继承层次结构是:

    • System.Object的
      • Microsoft.SharePoint.SPField
        • Microsoft.SharePoint.SPFieldLookup
          • Microsoft.SharePoint.SPFieldUser

    不幸的是,我没有Microsoft.SharePoint库,看看SPFieldLookup类是否在SPField中隐藏了一些重要内容。