【发布时间】:2014-07-01 13:31:48
【问题描述】:
我想创建可以传递自定义函数/方法的列验证器。
编辑:我不需要动态构建这些函数,可以事先构建解决方案,并且我受限于 .net 3.5。基本上我正在尝试为我的 SSIS 脚本进程创建可重用的类。
我不知道如何在 C# 中做到这一点,所以我在 JavaScript 中创建了一个我想要实现的快速表示here
// Data extracted from file
var data = "2|User2|15\r\n3|User1|13";
// Define columns in file
var columnKeys = ["ID", "Username", "Age"];
// Custome column validation
var columnValidation = {
"ID": function (value) {
if (isNaN(value)) return false;
else return true;
},
"Username": function (value) {
return true;
},
"Age": function (value) {
return true;
}
};
var ValidateColumns = function (data, keys, rules) {
var rowSep = "\r\n";
var colSep = "|";
// Get rows
var rows = data.split(rowSep);
_.each(rows, function (row) {
// Get columns
var columns = row.split(colSep);
// Validate columns
_.each(columns, function (column) {
if (rules[keys[columns.indexOf(column)]](column)) {
console.log("Column " + keys[columns.indexOf(column)] + ": Passed");
}
else {
console.log("Column " + keys[columns.indexOf(column)] + ": Failed");
}
});
});
};
ValidateColumns(data, columnKeys, columnValidation);
问题:
- 如何创建将进入的函数/方法?
- 如何在将验证列的类/方法中传递这些函数?
【问题讨论】:
标签: c# javascript .net-3.5