使用共享/静态变量和函数

时间:2014-07-05 02:51:10

标签: asp.net .net vb.net class shared

我在确定是否应该使用共享功能时需要帮助。如果返回的值适用于整个应用程序,我应该使用共享函数,因为共享变量只存储在内存中一次。如果这是真的,那么我想我的答案是否定的,我不应该使用共享功能。

现在我有共享函数,它根据传递的参数返回一个字符串。如果多个人同时查看使用此代码的页面,该功能是否会产生不良结果?

Public Shared Function ToFeaturelHTML(ByVal has As Boolean, ByVal feature As String)

If has = True Then
  Return String.Format("<li class='feature yes'>{0}</li> ", feature)
Else
  Return String.Format("<li class='feature no'>{0}</li> ", feature)
End If

End Function

1 个答案:

答案 0 :(得分:1)

您提供的功能不会访问任何共享状态(即它不使用任何共享变量)。每个电话都会使用自己的两个参数副本(&#34;有&#34;和#34;功能&#34;)。另外,在函数内部调用String的共享函数,这是一种线程安全类型。

在这些情况下,从多个客户端访问时,您的函数不会产生任何不良结果。

希望这有帮助!