寻找将设置传播到DLL的正确方法

时间:2017-06-16 11:18:38

标签: .net vb.net .net-assembly

我正在尝试为.NET项目构建一个小的日志记录。

在一个程序集中,我有一个Log类,其方法如(VB,抱歉,但这是自解释的)

Public Sub appendRow(message as String, file As String)

将从代码中的任何位置调用此方法;主要应用程序,还有其他程序集。

有问题的文件是我想写的文件。我的问题是处理这个文件的位置。

选项1:在日志程序集中对其进行硬编码:

Public Sub appendRow(message as String)
    Const file = ...

优点:实施起来非常简单,现在没有麻烦等等。

缺点:当我想重新使用这个组件时,我已经搞砸了。

选项2:将文件存储在主应用程序的设置中,并将其传播

我将改变我的所有功能

Public Function myFunction(someparam)

Public Function myFunction(someparam, file As String)

优点:它有效,它只依赖于主应用程序中参数的值。

缺点:它为代码带来了很多复杂性,使用函数中没有用的参数,除了传递给调用堆栈中更深层的其他函数。

我觉得有更好的方法来做到这一点,即。能够仅将参数存储在主应用程序中,并在程序集中使用它,而不会影响将来重新使用程序集,或更改所有函数定义以包含此参数。然而,尽管我付出了最大努力,但我无法找到这种中间道路。你能给我任何指示吗?

0 个答案:

没有答案