首页 > 解决方案 > 如何在 Visual Basic 中输入变量的范围

问题描述

我目前在 10 年级,正在上视觉基础的计算课。我正在尝试将一个名为 Wrong1 的变量设置为从负无穷到 2,然后从 2 到无穷大的范围,这样如果输入了除两个以外的任何答案,屏幕将变为红色,我知道该怎么做。我只是不知道如何为变量设置该范围。这是 Windows 应用程序 Visual Basic 2010

标签: vb.netvisual-studio-2010

解决方案


VB中没有这样的东西。使用自定义类

public class AnswerValue

    private _max as integer
    private _min as integer
    private _answer as integer
   
    public property Max as integer
        get
            return _max
        end get
        friend set (value as integer) 'internal so you can set internally to dynamic value
            _max = value
        end set
    end property    

    public property Min as integer
        get
            return _min
        end get
        friend set (value as integer) 
            _min = value
        end set
    end property

    public property Answer as integer
        get
            return _answer
        end get
        set (value as integer) 
            if (value > _max & value < _min) then
                Throw New Exception("value must be between " & _min & " and " & _max)
             end if
            _min = value
        end set
    end property


end class


' USAGE
try
    dim av AnswerValue = _provider.GetAnswerValueFor(questionId)
    av.Answer = Convert.ToInt32(txtAnswer1.Text) 
catch es as Exception
    errorList.Add(ex.Message)
end try

实现这一点的另一种方法是通过模型数据注释和验证器

public class MyModel

    <Range(-100, 2)>
    public property Min as integer

end class

查看 VB 中不同数据类型的类型范围。


推荐阅读