【问题标题】:Invalid WPF name? [closed]无效的 WPF 名称? [关闭]
【发布时间】:2018-02-22 13:29:20
【问题描述】:

谁能解释一下为什么这个名字无效?

“stackPanelOneZeroZeroPercentBasicBuybackStartNormalBracketMotorplusEndNormalBracket StartNormalBracketOneEightZeroOneEndNormalBracketStartNormalBracketUnderwrittenEndNormalBracket”不是属性“名称”的有效值。

【问题讨论】:

  • 真好奇问,你怎么会有这样的名字?是不是有点……又长又难读?
  • 这是一个长长的名字——它里面的“EndNormalBracket”“StartNormalBracket”位是为了什么......它读起来就像名字是 stackpanel10%basicbuyback(motorplus)(180)(underwritten)
  • 可能正在测试某种将无效名称字符转换为可读名称的算法。
  • 嗨,这个名字很长,因为正如 Manfred RadIwimmer 所说,我们正在使用 Algo 将无效字符转换为有效名称。 BugFinder 是正确的,但有一个额外的 0 ;) 它的 100%。
  • 感谢上帝,我担心这实际上是某人的命名约定。

标签: c# wpf


【解决方案1】:

因为中间有空格(EndNormalBracket之后)

stackPanelOneZeroZeroPercentBasicBuybackStartNormalBracketMotorplusEndNormalBracket StartNormalBracketOneEightZeroOneEndNormalBracketStartNormalBracketUnderwrittenEndNormalBracket
                                                                              here ^

除此之外,它(技术上)没有任何问题。

【讨论】:

  • 嗨,感谢您的建议,我添加了以下代码来对抗这些实例: toReturn = toReturn.Replace(" ", "Space"); toReturn = toReturn.Replace(Environment.NewLine, "New Line");但它仍然抛出异常。
  • @ebenzandberg 所以首先用空格替换所有空格,然后用一个带空格的小句子替换换行符?这意味着如果其中有换行符,它仍然包含一个空格!交换这些行或用“NewLine”替换新行
  • 哈哈哈,我明白了,但是好的,所以我进行了编辑并删除了 NewLine AS WELL 之间的空格,它仍然抛出异常,所以我们怀疑它可能是一个 TAB?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多