避免在另一个类中使用Public方法?

时间:2012-11-12 03:29:46

标签: c# class access-modifiers

我有2个表格和1个班级。 我把这个类变成了静态类。 它有两种使用公共修饰符的方法。 例如:公共字符串PrintHello(),Public void Task1()

我希望可以从Form1和Form2访问这些方法。 我明白使用“公共”修饰符并不好,所以我看了“内部”修饰符,它似乎完成了这项工作。

基本上,我想创建一种访问我班级的安全方式。 这样做的最佳方式是什么,你能提供一个如何做的例子吗?

谢谢

2 个答案:

答案 0 :(得分:0)

取决于您认为调用此方法的代码可能存在的位置。如果它只是从定义此方法的类调用,那么它应该是私有的。如果你只想从同一个程序集(dll)中调用它,但是你不想从其他dll调用这些方法,那么你应该将它设置为内部。这样您就可以将dll发送到其他项目,而不必担心支持您的方法(因为他们无法访问您的方法)。

但是如果你正在做一个通用的libarary / dll等等那么这些方法应该是公开的。

这完全取决于你认为你的方法是谁或者你的方法。

答案 1 :(得分:0)

访问修饰符不会为您的代码提供安全性。 有人真的想要使用你的privet方法,他可以使用ILDASM来解码你的代码并使用它们,这只是很多例子中的一个。

访问修饰符允许您使用面向对象的代码设计进行编程。 一般来说: 私有修饰符是您的类实现的内部,代码的其他类或层不是 NEED,也不希望知道存在。

内部修饰符用于提供整个程序集所需的附加功能,但同样不需要任何其他功能(程序集外部),因为它们是特定于实现的。

最后,公共修饰符用于定义类与外界的接口,这些方法和属性应该由任何需要代码功能的人使用。

相关问题