Hi all,
I have some code in multiple 'if' blocks, the same functionality i want to do it in Switch case. I tried but i am getting some Exception Here.
I am Having if code like the Following:
Office.DocumentProperties docProp = (Office.DocumentProperties)
Globals.ThisAddIn.Application.ActiveDocument.CustomDocumentProperties;
if (docProp["ReferenceId"] != null)
{
labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[3];
labelControl.Label = docProp["ReferenceId"].Value.ToString();
}
if (docProp["ReferenceType"] != null)
{
labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[4];
labelControl.Label = docProp["ReferenceType"].Value.ToString();
labelReferenceId = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[0];
}
if (docProp["CreatedBy"] != null)
{
labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[5];
labelControl.Label = docProp["CreatedBy"].Value.ToString();
}
for the above code, I did like this:
string[] customProperties = { "ReferenceId", "ReferenceType", "CreatedBy"};
foreach(string customProperty in customProperties)
{
switch (docProp["customProperty"])
{
case "ReferenceId": labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[3];
labelControl.Label = docProp["ReferenceId"].Value.ToString();
break;
case "ReferenceType": labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[4];
labelControl.Label = docProp["ReferenceType"].Value.ToString();
labelReferenceId = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[0];
break;
case "CreatedBy": labelControl = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[4];
labelControl.Label = docProp["ReferenceType"].Value.ToString();
labelReferenceId = (RibbonLabel)Globals.Ribbons[0].Tabs[0].Groups[0].Items[0];
break;
default:
break;
}
}
Any help will be greatly appreciated.
Thanks,
K.S.Reddi Prasad.
Loading
VulpesPosted Apr 27, 2011, 6:49 AM
Ankit NandekarPosted Apr 27, 2011, 6:39 AM
i have tried like this its working fine
string[] customProperties = { "ReferenceId", "ReferenceType", "CreatedBy" };
foreach (string customProperty in customProperties)
{
switch (customProperty)
{
case "ReferenceId":
c++;
break;
case "ReferenceType": c++;
break;
case "CreatedBy": c++;
break;
default:
break;
}
}
Console.WriteLine(c);
VulpesPosted Apr 27, 2011, 6:31 AM