如果属性是可读写(非Readonly或者Writeonly)的,而且在属性过程中并没有任何的实质操作,那么是不是就就可以直接使用此属性进行数据传递,而且属性的定义方式中也可以直接省略掉get与set代码块。
Public Property myProperty As Integer
而没有必要为这个属性去创建一个私有字段field,以进行此属性值的转换。
Private field As Integer
Public Property myProperty As Integer
Get
Return field
End Get
Set(value As Integer)
field = value
End Set
End Property
我觉得直接用一行代码创建这个属性比较简洁,而且在类的内部属性过程与私有字段field完全是等效的,但是这对于类的封装性是不是不太好啊?
顺便问一下,一个线程Start后要如何强制结束它?是等它自己执行完毕,还是用abort手动,还是在方法内用Exit sub呢?
而且在线程结束后,要如何重新启动它啊,直接start会报错。还是说必须重新创建一个线程。
------解决思路----------------------
问题真多,一个一个回答吧
1.没人强制你用属性啊,就定义一组全局变量一样用,不过如果有的字段需要做限制,有的不需要做限制,还是统一一下比较好,尤其你定义的类是要给别人用的时候.你自己用,做成什么样都无所谓了
2.先说最后一个问题吧,你需要重新new一下
3.如果你确定强制abort不会引发什么问题的话,强制abort也未尝不可.不过如果涉及到资源需要释放,还是不要这样的好,还是让它自己退出
------解决思路----------------------
我2008,成员变量不能用 Property 定义。
你把生成的 dll/exe 用 refrector 打开,是否自动转成一般 Get/Set 的形式了?
如果确实是那样的话,只是编译器的预加工,实际是没区别的。
------解决思路----------------------
Property属性是如果不需要控制只写只读操作可以不用Get和Set。
Property属性是专门数据安全而设计的,在类外部修改类内参数时应该使用`属性方法来操作更改参数。
我们经常使用的变量是实例化对象时使用的。
另外一般变量可以过程内声明,但是属性不能过程内声明。
Property属性的最大用处是特别多线程安全调用参数时需要的。
多线程中的`参数读取和更改必须用属性来操作。
为什么我要说必须呢? 因为,现在的人们的概念发生很大变化,追求安全更高级和更好性能的水平上。
Public Class Class2
Public Property NewProperty() As String = "天赋人权"
End Class
------解决思路----------------------
费时间?
你先搞清楚到底费多少时间再谈这个问题