【发布时间】:2018-01-03 04:17:06
【问题描述】:
我试图弄清楚如何通过 API 访问对象中的值,但没有运气。有一些文档,但不是很多。我能够访问一些信息,但我正在寻找的信息存在于软件正在使用的数据库中的关键字字段中。我可以打印出对象类型,但不能打印出实际对象中的值。
这是我的代码:
public class Test
{
public static ServiceConnection ConnectToDocuWare(Uri uri, string userName, string passWord)
{
return ServiceConnection.Create(uri, userName, passWord);
}
static void Main()
{
var userName;
var passWord;
var uri;
var conn = ConnectToDocuWare(uri, userName, passWord);
var org = conn.Organizations[0];
var fileCabinets = org.GetFileCabinetsFromFilecabinetsRelation().FileCabinet;
var fileCabinet = fileCabinets.SingleOrDefault(x => x.Name == "someValue");
string documentID = "1";
int DWID = int.Parse(documentID);
string FCID = fileCabinet.Id;
var dialogInfoItems = fileCabinet.GetDialogInfosFromDialogsRelation();
var dialog = dialogInfoItems.Dialog.SingleOrDefault(x => x.DisplayName == "Some Value").GetDialogFromSelfRelation();
var DocResults = RunQuery(dialog, documentID);
foreach (Document doc in DocResults.Items)
{
var item = doc.GetDocumentFromSelfRelation();
foreach (var itemInfo in item.Fields)
{
if (itemInfo.ItemElementName.ToString() == "Keywords")
{
Console.WriteLine(itemInfo.Item);
}
}
}
Console.ReadLine();
}
public static DocumentsQueryResult RunQuery(Dialog dialog, string DWDocID)
{
var q = new DialogExpression()
{
Operation = DialogExpressionOperation.And,
Condition = new List<DialogExpressionCondition>()
{
DialogExpressionCondition.Create("DWDOCID", DWDocID),
},
Count = 100,
SortOrder = new List<SortedField>
{
SortedField.Create("DWSTOREDATETIME", SortDirection.Desc)
}
};
var queryResult = dialog.GetDocumentsResult(q);
return queryResult;
}
}
这只是输出对象类型。我尝试使用 foreach 循环输出 ItemInfo.Item 对象中的所有内容,但出现此错误:Foreach 语句无法对“object”类型的变量进行操作,因为“object”不包含“GetEnumerator”的公共定义
基本上我正在尝试访问关键字字段中的值以供以后使用。
【问题讨论】:
-
这里出现错误:Console.WriteLine(itemInfo.Item);
-
这里是关于类对象的文档:help.docuware.com/sdk/platform/html/…
-
你为什么要删除your question from earlier 并发布这个,这肯定看起来是完全相同的文字?我花时间查看了您的文档,以便您弄清楚哪些类型在起作用,并评论它们与您的错误的关系,而不是得到响应,它现在已经消失了。其他评论者也试图帮助您,但现在我们从头开始。尽管您的帖子确实收到了反对/关闭投票,但删除会阻止用户帮助您
-
抱歉,我在尝试使用以下代码枚举对象时遇到错误:foreach (DocumentIndexFieldKeywords keywords in itemInfo.Item) { Console.WriteLine(keywords); }
-
我很抱歉,因为删除,我认为人们已经放弃了帮助我,所以我重新发布。