大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Dim BDS, JSS, I As Integer
成都创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为嘉鱼企业提供专业的成都网站制作、网站设计,嘉鱼网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
Private Sub Command1_Click()
Dim kkl() As String '取出各行表达式的运算符的数值
ReDim kkl(UBound(BDS))
For I = 0 To UBound(BDS)
kkl(I) = Right(Left(BDS(I), 3), 1) '取出表达式的运算符
Select Case kkl(I)
Case "+"
JSS = Split(BDS(I), "+") '取出运算符二边的数据,存储在 JSS 数组中,下同
Text2.Text = Text2.Text Val(JSS(0)) + Val(JSS(1)) vbCrLf '在文本框2中显示计算结果。数据必须转换为数字数据!,下同
Case "-"
JSS = Split(BDS(I), "-")
Text2.Text = Text2.Text Val(JSS(0)) - Val(JSS(1)) vbCrLf
Case "*"
JSS = Split(BDS(I), "*")
Text2.Text = Text2.Text Val(JSS(0)) * Val(JSS(1)) vbCrLf
Case "/"
JSS = Split(BDS(I), "/")
Text2.Text = Text2.Text Val(JSS(0)) / Val(JSS(1)) vbCrLf
End Select
Next I
End Sub
Private Sub Form_Load()
Text1.Text = Text1.Text "33*33" vbCrLf
Text1.Text = Text1.Text "33+33" vbCrLf
Text1.Text = Text1.Text "33*33" vbCrLf
BDS = Split(Text1.Text, vbCrLf) '将数据存储到 BDS 数组中
End Sub
这个程序符合二位数与二位数的+、-、*、/ 的计算,比较简单。
这个功能实现起来其实也很简单,就是通过反射去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:
/// summary
/// 返回枚举项的描述信息。
/// /summary
/// param name="value"要获取描述信息的枚举项。/param
/// returns枚举想的描述信息。/returns
public static string GetDescription(Enum value)
{
Type enumType = value.GetType();
// 获取枚举常数名称。
string name = Enum.GetName(enumType, value);
if (name != null)
{
// 获取枚举字段。
FieldInfo fieldInfo = enumType.GetField(name);
if (fieldInfo != null)
{
// 获取描述的属性。
DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,
typeof(DescriptionAttribute), false) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
}
这段代码还是很容易看懂的,这里取得枚举常数的名称使用的是 Enum.GetName() 而不是 ToString(),因为前者更快,而且对于不是枚举常数的值会返回 null,不用进行额外的反射。
当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析。
在你机器上没问题那就是运行环境的问题了 你发布的时候是不是把检测到的依赖项全打包进去啦?
public Color col(string colorName)
{
Type colorType = typeof(Color);
PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);
if (infos == null)
{
//throw Exception
}
return(Color)info.GetValue(null, null);
}
是这个意思么?输入“Red”, 返回Color.Red 区分大小写