Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C的iTextSharp中,是否可以将Acrofield值设置为null#_C#_Itextsharp_Acrofields - Fatal编程技术网

C# 在C的iTextSharp中,是否可以将Acrofield值设置为null#

C# 在C的iTextSharp中,是否可以将Acrofield值设置为null#,c#,itextsharp,acrofields,C#,Itextsharp,Acrofields,在下面C#中iTextSharp的代码中,字段值的空值是否可以接受,即第二个参数是否可以为空或必须为非空字符串?我正在为代码中的各个字段设置值。我找不到任何关于此方法的合适文档 foreach (var kvp in fieldsValuesCollection) { acroFields.SetField(kvp.Key, kvp.Value); } 更新1: 我终于找到了答案,“SetField”方法的第二个参数不能为null(必须是非null字符串

在下面C#中iTextSharp的代码中,字段值的空值是否可以接受,即第二个参数是否可以为空或必须为非空字符串?我正在为代码中的各个字段设置值。我找不到任何关于此方法的合适文档

   foreach (var kvp in fieldsValuesCollection)
     {
       acroFields.SetField(kvp.Key, kvp.Value);
     }
更新1:

我终于找到了答案,“SetField”方法的第二个参数不能为null(必须是非null字符串)。我运行了从这个url下载的一些示例代码:并在我的机器上本地运行了它,这导致了如下所示的异常。我对下载的代码所做的唯一更改是将所有文本类型字段设置为null,而不是非null字符串,它抛出了一个错误

因此,开发人员在设置acrofield值时应该小心,否则他们可能会遇到难以发现的错误,因为iTextSharp的API文档中没有提到这一事实

我用来测试的代码如下

  foreach (var fieldName in formFieldMap.Keys)
    {
        if (formFields.GetFieldType(fieldName) == 4)
        {
            formFields.SetField(fieldName, null);
        }
        else
        {
            formFields.SetField(fieldName, formFieldMap[fieldName]);
        }
    }
ToString(对象)转换为字符串。如果对象为null,Convert.ToString会将其转换为空字符串。