我正在寫一個庫來控制測量儀器並進行校準。該庫將用於幾個應用程序。在dll中使用設置?
有一點我需要設置最大值。允許信號的偏差,這取決於正在校準的發射器。因此對於。恩。 Tansmitter-typ 1具有.2%,典型2具有.1%,而典型3具有.05%。
Private Function GetMaxDeviationAllowed(transmitterName as String) As Double
With transmitterName.Substring(0, 8)
If .Contains("050") Then
Return 0.2
ElseIf .Contains("100") Or .Contains("101") then
Return 0.15
ElseIf .Contains("200") or .Contains("201") then
Return 0.05
ElseIf .Contains("_PSP")
Return 0.2
Else
Return 0.2 'ASK: Use default tolerance or throw TypeNotSupported exception?'
End If
End With
End Function
這個程序將被沒有任何編程知識的人使用,我想給他們改變最大值的可能性。允許每個發射器類型的偏差而不改變源代碼。
我總是讀到使用庫中的設置並不是一個好主意,這是更好的讓UI處理設置,但我不能(至少我不知道如何)包裝這種方法,因爲如果我有100個不同的類型我需要一個有100個參數的方法(每個類型一個,如果每個都有不同的maxDeviationPermitted)。 此外,如果我使用的設置文件的DLL,afaik這將不會被使用,也不會被複制到應用輸出目錄...所以我有點在這裏輸了...
也許我只是頭腦簡單但如果不是很好,如果有人可以在這裏給我一些提示。
預先感謝您 RG
庫所使用的程序員。設置由最終用戶使用。由於這是一個庫,因此請將您的設置放入變量中,併爲使用該庫的用戶更改這些變量提供方法。我不確定你的意思是「100種不同類型」。我只看到一種類型,一個雙精度(十進制數)。 – Clay07g
你不需要100個參數。創建一個類來保存配置值並傳遞它。該應用程序可以創建它並相應地設置值。 – Plutonix
感謝您的快速回答。有100個差異。類型我是指變送器類型。如果你能夠舉一個你的意思很好的例子。但是,如果我理解正確,你的意思是前例。使用Type1 = 0.2等變量/屬性創建一個「MaxAllowedDeviationByType」模塊,爲最終用戶提供更改選項?是否有辦法永久修改(如果有)? –