c# - Array.Length 不能分配给——它是只读的
问题描述
我试图在我的 ssis 包中包含一个脚本任务,该任务不断检查文件夹,直到将指定的文件放置在那里,此时它成功并继续包中的下一步。这是我在脚本任务中使用的代码:
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.IO;
namespace ST_6a16f1bd9a6548ddb82bbf41d5d5006f
{
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
public void Main()
{
bool foundFile = false;
string[] files = Directory.GetFiles(@"directory", "*abcd*");
while (files.Length = 0)
{
foundFile = false;
}
if (files.Length > 0)
{
foundFile = true;
}
if (foundFile == true)
{
Dts.TaskResult = (int)ScriptResults.Success;
}
}
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
}
但是,当我构建此代码时,我收到错误“无法将属性或索引器 'Array.Length' 分配给 -- 它是只读的”。
解决方案
代替
while (files.Length = 0)
利用
while (files.Length == 0)
您将 0 分配给 files.Length 而不是对其进行测试。
推荐阅读
- python - 如何在 pyspark 中使用 map 和 reduce 来处理带有一些列表变量的列表对象?
- python - Python将\ n转换为换行符而不打印?需要传递给另一个程序但希望 \n 转换
- javascript - 地图加载时如何在点击时设置标记 - Mapbox GLJS
- java - 如何将 Java 项目正确导入我的工作区并使其运行?
- python - 即使在登录 Django rest 框架身份验证后也会出现身份验证错误?
- python - 如何使用join python显示最后一个元素
- typescript - NextAuth.js 令牌长度和 Cognito 的问题
- entity-framework-core - EFCore 将数据保存到 nvarchar 会导致字符错误(某些字符的问号)
- html - 如何防止溢出换行:break-word;从为太长的单词创建一个新行?
- php - 如何在 php 页面中运行 nodejs 脚本