public void Serialize(IXMLSerializeData data)
{
#region Prepare PropertySet
object names = null, values = null;
myProperties.GetAllProperties(out names, out values);
IStringArray myNames = new StrArray();
string[] nameArray = (string[])names;
IVariantArray myValues = new VarArray();
object[] valArray = (object[])values;
for (int i = 0; i < nameArray.GetLength(0); ++i)
{
myNames.Add(nameArray[i]);
if (valArray[i] is IDataset)
{
IName myDatasetName = ((IDataset)valArray[i]).FullName;
myValues.Add(myDatasetName);
}
else
myValues.Add(valArray[i]);
}
#endregion
data.TypeName = "NDVICustomFunctionArguments";
data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2";
data.AddObject("Names", myNames);
data.AddObject("Values", myValues);
}