3

我需要实现某种解决方案,以便在满足某些条件时在我们的业务逻辑层中返回错误消息。

该错误消息应该可以在文件或表中进行配置,如果需要,可以在运行时进行编辑。

我已经看过它之前的几种方法,它总是以“此错误消息为 {0}”之类的结尾,然后当开发人员使用该消息时,他们不一定知道该消息需要多少(如果有)参数.

只是希望利用可能已经完成的事情,我认为 .net 框架中没有提供者或任何东西。

4

2 回答 2

0

为什么不将错误消息作为您的错误类的属性(假设您有一个),允许您的开发人员设置他们自己的消息,也许包括您自己的一些静态消息的事件,然后接受一个参数数组作为第二个string.format 函数的一部分。

似乎这可以解决不知道有多少参数等的问题。

于 2010-06-11T04:34:19.173 回答
0

一个办法;

用这样的命名占位符存储您的错误消息;

  • “这是一个错误 {name1}。andkg kfkjgkf {name2}”
  • “这是一些 {size} 问题”

然后,您需要一个在其构造函数中接收原始错误消息的类,例如“这是一些 {size} 问题”。

然后该类将允许开发人员为每个占位符指定值。

最后,开发人员将调用一个方法,用指定的值替换占位符并返回结果。

IE

var rawMessage = "this is some {size} problem"; // fetch this from a file, db, or build runtime
var errorMessage = new ErrorMessage(rawMessage); // finds all the placeholders, stores them in a Dictionary<string, string>
errorMessage.SetPlaceholderValue("size", "big"); // sets the {size} placeholder value
var message = errorMessage.BuildErrorMessage(); // replaces placeholders with values and checks no values are missing

// message should look like "this is some big problem";
// this will handle any number of placeholders
于 2010-06-11T06:00:06.597 回答