2

我正在尝试使用 Microsoft.Lync.Model.Contact.GetContactInformation() 方法。有两种版本,一种采用普通枚举,另一种采用具有多个值的 IEnumerable。

http://msdn.microsoft.com/en-us/library/lync/hh347568.aspx

我可以半成功地使用第一个版本(直到我尝试检索一个没有价值的版本),但我无法理解我应该如何传递多个参数。

$contactInfo = $c[$c.Count - 1].Participants[1].Contact.GetContactInformation([int[]]("FirstName", "LastName", "DisplayName", "PrimaryEmailAddress"))

(以上行不通。)

有人可以将我推向正确的方向吗?

4

3 回答 3

4

最简单的语法将接近您现在所拥有的。该方法需要枚举ContactInformationType值,因此您的强制转换应该是这些值的数组,而不是int.

此外,您可以将$foobar[-1]其用作糖$foo[$foo.Count - 1],即获取最后一个元素。

$contactInfo = $c[-1].Participants[1].Contact.GetContactInformation([Microsoft.Lync.Model.ContactInformationType[]] @("FirstName", "LastName", "DisplayName", "PrimaryEmailAddress"))
于 2013-03-06T20:45:35.127 回答
2

我认为如果您尝试以下操作,它将起作用:

$contactInfo = $c[$c.Count - 1].Participants[1].Contact.GetContactInformation(
                [int[]](
                        [int]Microsoft.Lync.Model::ContactInformationType.FirstName,
                        [int]Microsoft.Lync.Model::ContactInformationType.LastName,
                        [int]Microsoft.Lync.Model::ContactInformationType.DisplayName,
                        [int]Microsoft.Lync.Model::ContactInformationType.PrimaryEmailAddress))
于 2013-03-06T19:33:16.357 回答
1

该方法本身可能不知道“FirstName”是什么。尝试创建一个枚举值数组,例如:

$information = [Microsoft.Lync.Model.ContactInformationType]::FirstName, [Microsoft.Lync.Model.ContactInformationType]::LastName, [Microsoft.Lync.Model.ContactInformationType]::DisplayName, [Microsoft.Lync.Model.ContactInformationType]::PrimaryEmailAddress
$contactInfo = $c[$c.Count - 1].Participants[1].Contact.GetContactInformation($information)
于 2013-03-06T19:49:38.133 回答