WebFile Properties auslesen mit C# verursacht Compilerfehler

Hallo,

ich bin mir nicht sicher ob das hier die richtige Gruppe, aber vieleicht hat
ja jemand sowas schon mal gemacht.

Ich bin gerade dabei einige VBA-Makros in ein verwaltetes C# -AddIn unter
..NET 2.0 zu übernehmen. Dabei bin ich beim Auslesen der Eigenschaften eines
WebFiles auf ein Problem gestossen. Unter VBA sah das so aus:

MsgBox ActiveWeb.HomeNavigationNode.File.Properties("vti_author")

Unter C# sieht das nun so aus:

MessageBox.Show((string)
Application.ActiveWeb.HomeNavigationNode.File.Properties["vt i_author"]);

Hier bricht der Kompiler allerdings mit einer Fehlermeldung ab:
"Microsoft.Office.Interop.FrontPage.Properties.this[string]" wird von der
Sprache nicht unterstützt.

C# unterstützt this[string] - beutze ich selber; daran kann es also nicht
liegen. Unter VB.NET klappt es analog ebenfalls:
MsgBox(CStr(Application.ActiveWeb.HomeNavigationNode.File.Pr operties("vti_author")))

Frage: Wie kann ich unter C# auf eine bestimmte Eigenschaft eines WebFiles
zugreifen? Eine Item-Eigenschaft gibt's bei Properties nicht... und mittels
foreach bekomme ich nur eine Auflistung der Schlüssel - aber was mache ich
dann damit?

Bin ich blind? Habe ich was übersehen? Gegoogelt habe ich schon, ohne
Erfolg. Hat jemand eine Idee?

Gruß Stephan
StephanJanssen [ So, 26 November 2006 17:42 ] [ ID #1547618 ]

Re: WebFile Properties auslesen mit C# verursacht Compilerfehler

Stephan Janssen schrieb:

> Unter C# sieht das nun so aus:
>
> MessageBox.Show((string) Application.ActiveWeb.HomeNavigationNode.File.Properties["vt i_author"]);
>
> Hier bricht der Kompiler allerdings mit einer Fehlermeldung ab:
> "Microsoft.Office.Interop.FrontPage.Properties.this[string]" wird von der
> Sprache nicht unterstützt.

Ja, kann ich reproduzieren. Mit Expression Web tritt das Problem ebenfalls
auf. Ultima ratio wäre vorerst wohl eine in Visual Basic geschrieben
Assembly, die die Properties-Auflistung analysiert und bspw. ein
System.Collections.IDictionary zurückgibt. Ich frage aber mal in den
privaten Newsgroups nach.

--
<http://schneegans.de/sv/> - XML Schema Validator |
<http://schneegans.de/xp/> - XHTML Proxy |
<http://www.politicallyincorrect.de/> - Mein Lieblings-Blog |
Christoph Schneegans [ So, 26 November 2006 21:45 ] [ ID #1547619 ]

Re: WebFile Properties auslesen mit C# verursacht Compilerfehler

Stephan Janssen schrieb:

> MessageBox.Show((string) Application.ActiveWeb.HomeNavigationNode.File.Properties["vt i_author"]);

In C# muß man

MessageBox.Show((string) Application.ActiveWeb.HomeNavigationNode.File.Properties.get _Item("vti_author"));

schreiben, dann funktioniert es. Bedank dich bei
<https://mvp.support.microsoft.com/profile=7F982F8F-D02E-421C-AA5F-B8A3D5588D26>.

--
<http://schneegans.de/sv/> - XML Schema Validator |
<http://schneegans.de/xp/> - XHTML Proxy |
<http://www.politicallyincorrect.de/> - Mein Lieblings-Blog |
Christoph Schneegans [ Mo, 27 November 2006 23:17 ] [ ID #1548349 ]

Re: WebFile Properties auslesen mit C# verursacht Compilerfehler

"Christoph Schneegans" wrote:

> In C# muß man
>
> MessageBox.Show((string) Application.ActiveWeb.HomeNavigationNode.File.Properties.get _Item("vti_author"));

Danke für den Tip, funktioniert prima. Was nur wundert ist, dass die
Funktion get_Item() nicht bei IntelliSence auftaucht, und andere Auflistungen
wie MetaTags[] wie gewohnt funktionieren.

Sei's drum, nochmals danke (auch an den MVP-Kollegen).
Stephan
StephanJanssen [ Di, 28 November 2006 09:57 ] [ ID #1549549 ]
Microsoft » microsoft.public.de.frontpage » WebFile Properties auslesen mit C# verursacht Compilerfehler

Vorheriges Thema: Firefox zeigt Rahmen an - IE nicht
Nächstes Thema: Keine Vorlagen in Office Sharepoint Designer 2007?