Visual Studio 2008 intellisense枚举类型
是否有一个设置,在Visual Studio中的intellisense也将变量放入intellisense弹出窗口而不仅仅是枚举类型的值?它显然知道它应该是一个枚举。也许这只是一种机制,可以防止我在那里放置可能导致异常的东西。Visual Studio 2008 intellisense枚举类型
考虑以下设置:(这是一个有点做作,我很抱歉。)现在
Public Enum PhraseEmphasis
Monotone = 0
Question
Statement
Exclamation
CrazyExclamation
QuestioningExclamation
Cursing
End Enum
Private _emphasisFromCode as PhraseEmphasis
Public Function Speak(ByVal phrase As String, ByVal emphasis As PhraseEmphasis) as String
Select Case emphasis
Case PhraseEmphasis.Question
Return phrase + '?'
Case PhraseEmphasis.Statement
Return phrase + '.'
Case PhraseEmphasis.Exclamation
Return phrase + '!'
Case PhraseEmphasis.CrazyExclamation
Return phrase + '!!!1!eleven!!'
Case PhraseEmphasis.QuestioningExclamation
Return phrase + '?!'
Case PhraseEmphasis.Cursing
Return '[email protected]#@%@#!'
Case Else
Return phrase
End Select
End Function
,在代码中我有一些设置_emphasisFromCode(明显),然后我想调用该函数。然后,当我开始在Elipses处打字说话时(“HelloWorld”,...) ,我不喜欢intellisense。在intellisense中唯一弹出的是所有枚举的列表。
现在我花了很多时间来解释这个问题,关于我真正关心的事情。但是,我的机器今天编译非常慢。
不,没有这样的设置。智能感知列举了枚举,以便您快速选择一个。如果你有一个存储在变量中的变量(或者PhraseEmphasis
类型的多个变量),它将不会为你的代码寻找匹配参数类型的变量来填充参数建议。
除此之外,只有相关的设置,以启用/禁用智能感知:
visual studio options http://i38.tinypic.com/24e4bht.jpg
VB已经基本下的其他选项 - 你有什么建议> VB具体,但仍然一无所获。
据我所知,我不认为CodeRush/Refactor! Pro或ReSharper(Visual Studio加载项)也提供此功能。
不,没有这样的设置。智能感知如何从您的方法签名中猜测,您希望为方法赋予一个任意值,而签名恰恰相反?
相反,你可以声明另一个枚举成员(比如PhraseEmphasis.None = 0
,这是推荐的最佳做法反正)和使用,或最终声明emphasis
参数与optional
关键字完全避免提供信息的需要。
枚举类型的变量不是任意值。我希望看到这种类型的枚举也在列表中。 – 2009-10-14 15:35:49
这将与枚举概念相矛盾。枚举是一个_type_,它由一组具有基础基本类型的具体值组成。因此,除了列举这个枚举的值之外,其他所有内容都不符合强类型编程语言的概念...... – 2009-10-15 07:37:01
我真的不明白你的问题。你能否详细解释一下? – 2009-10-07 14:59:08