Я создал файл библиотеки классов, используя c # .net. Когда я вызываю метод, он показывает приведенную ниже ошибку, как уже упоминалось. Как правильно определить аргумент списка типа объекта, чтобы исправить эту ошибку. Я приложил свой код и ошибку для справки.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using System.ComponentModel;
using Microsoft.Office.Interop.Word;
namespace ReadWord
{
class MyObject
{
public string Name { get; set; }
public string Value { get; set; }
public string Title { get; set; }
public string Tag { get; set; }
}
public class ReadWord : CodeActivity
{
[Category("Output")]
public OutArgument<System.Collections.Generic.List> FieldValueOnly { get; set; }
protected override void Execute(CodeActivityContext context)
{
var a = DocPath.Get(context);
var list = new List<MyObject>();
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = word.Documents.Open(a);
doc.Activate();
foreach (InlineShape shape in doc.InlineShapes)
{
if (shape.OLEFormat != null && shape.OLEFormat.ClassType == "Forms.TextBox.1")
{
//Console.WriteLine(shape.OLEFormat.Object.Name + " :" + shape.OLEFormat.Object.Value);
//text += shape.OLEFormat.Object.Value;
//ArrField[shape.OLEFormat.Object.Name] = shape.OLEFormat.Object.Value;
list.Add(new MyObject { Name = shape.OLEFormat.Object.Name, Value = shape.OLEFormat.Object.Value, Title = "", Tag = ""});
}
}
FieldValueOnly.Set(context, list);
}
word.Quit();
}
}
}
Я получаю это сообщение об ошибке «System.InvalidOperationException: значение типа« System.Collections.Generic.List`1 [ReadWord.MyObject] »не может быть установлено в местоположение с именем« FieldValueOnly », поскольку оно является расположение типа 'System.Collections.Generic.List'. '