从Silverlight应用程序调用OneNote GetHierarchy()

从Silverlight应用程序调用OneNote GetHierarchy(),silverlight,silverlight-4.0,onenote,Silverlight,Silverlight 4.0,Onenote,我有一个Silverlight 4浏览器外提升信任应用程序。我想使用OneNote 2010对象模型使用AutomationFactory与OneNote通信,但我无法使应用程序的方法正常工作。我知道OneNote中有数据,因为我可以从.NET应用程序调用该方法并从中获取数据。GetHierarchy()方法返回null。有什么建议吗 class OneNoteAutomation { dynamic oneNote; enum HierarchyScope {

我有一个Silverlight 4浏览器外提升信任应用程序。我想使用OneNote 2010对象模型使用AutomationFactory与OneNote通信,但我无法使应用程序的方法正常工作。我知道OneNote中有数据,因为我可以从.NET应用程序调用该方法并从中获取数据。GetHierarchy()方法返回null。有什么建议吗

class OneNoteAutomation
{
    dynamic oneNote;

    enum HierarchyScope
    {
        hsSelf = 0,
        hsChildren = 1,
        hsNotebooks = 2,
        hsSections = 3,
        hsPages = 4
    }

    public void GetHierarchy()
    {
        if (AutomationFactory.IsAvailable)
        {
            this.oneNote = AutomationFactory.CreateObject("OneNote.Application");

            var result = this.oneNote.GetHierarchy(
                string.Empty, 
                (int)HierarchyScope.hsNotebooks, 1);            
        }
    }
}

这是一个已知的错误,使用具有“out”的方法调用无法在AutomationFactory中使用-请参阅


顺便说一句,我不确定您在
GetHierarchy
调用中试图对
1
执行什么操作-这是指向将用所选
HierarchyScope
enum的XML填充的字符串的指针。它应该是一个字符串
out
变量,而不是一个整数-但无论如何,由于该错误,它在SL4中仍然不起作用。

这是一个已知的错误,使用具有“out”的方法调用无法在AutomationFactory中使用-请参阅


顺便说一句,我不确定您在
GetHierarchy
调用中试图对
1
执行什么操作-这是指向将用所选
HierarchyScope
enum的XML填充的字符串的指针。它应该是一个字符串
out
变量,而不是一个整数-但无论如何,由于该错误,它在SL4中仍然不起作用。

只是想查看下面的内容是否回答了您的问题(不幸的是,它没有解决问题,但现在是唯一可能的答案).这是个好答案-我只是在等一个能解决我问题的答案。我听到了。我对一个允许你在SL中使用out的答案很感兴趣。不幸的是,我不相信存在out。我只是想看看下面的答案是否回答了你的问题(不幸的是,它没有解决问题,但现在是唯一可能的答案)。这是一个好答案-我只是在等待一个解决我问题的答案。我听到了。我希望有一个答案可以让您在SL中也使用out。不幸的是,我不相信存在out。我已确认这是Silverlight 4 COM自动化封送器中的一个错误:[out]参数不起作用。我已确认这是Silverlight 4 COM自动化封送器中的一个错误:[out]参数不起作用。