CSDN博客

img Aimar168

VB.NET与C#的完美结合

发表于2004/9/27 17:01:00  765人阅读

分类: C#

VB.NET是.NET里的精品,C#里.NET里的灵魂,结合两者将发挥无限威力,呵呵,看你如何去发挥它,写个简单的例子来说明如何结合VB.NET与C#。

VB.NET:

在VB.NET里有个Microsoft.VisualBasic.IsNumeric的函数可以验证是否是数字,而在c#中则要自己去判断,可以Try,也可以用正则表达式,不过不是耗资源就是太麻烦。

在一个项目中新建一个类库用VB.NET做为开发语言,代码如下:


Public Class Validator
    
Public Function validate(ByVal str As StringAs Boolean
        
If (Microsoft.VisualBasic.IsNumeric(str)) Then
            
Return True
        
Else
            
Return False
        
End If

    
End Function

End Class

在C#中新建一个项目,引用上面的DLL,代码如下:

 

ValidateNumber.Validator validateObj = new ValidateNumber.Validator();

if(validateObj.validate(textBox.Text))
{
DataObj.GetProductQty 
=int.Parse(textBox.Text);
}

else
{
lblMSG.Text
="请输入数字,请重试";
return;
}
很明了的例子,不用多说。
posted on Saturday, September 18, 2004 4:15 PM

 

VB中的IsNumeric实现如下:
public static bool IsNumeric(object Expression)
{
bool flag1;
IConvertible convertible1 = null;
if (Expression is IConvertible)
{
convertible1 = (IConvertible) Expression;
}
if (convertible1 == null)
{
if (Expression is char[])
{
Expression = new string((char[]) Expression);
}
else
{
return false;
}
}
TypeCode code1 = convertible1.GetTypeCode();
if ((code1 != TypeCode.String) && (code1 != TypeCode.Char))
{
return Utils.IsNumericTypeCode(code1);
}
string text1 = convertible1.ToString(null);
try
{
long num2;
if (!StringType.IsHexOrOctValue(text1, ref num2))
{
double num1;
return DoubleType.TryParse(text1, ref num1);
}
flag1 = true;
}
catch (Exception)
{
flag1 = false;
}
return flag1;
}
阅读全文
0 0

相关文章推荐

img
取 消
img