For Private Class, should i declare my property As Public Or Friend (internal in c#)? My Private Class is not accessible by any other classes except it parent class.
Access level of property in Private Class
849 views Asked by san louise At
2
There are 2 answers
0
Arin Ghazarian
On
Since you class (Nested one) is private the only one who can access it is its container (the base or parent class). In this case public or internal (Friend in VB) doesn't make any difference, since the only one who can access the nested class is it's parent.
In general, if some day you want to change the access modifier to public then its good to foresee it now and choose between internal and public. Its simple, if you want members of your nested class to be seen only inside the assembly where it defined, then use internal otherwise consider using public.
Related Questions in C#
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in VB.NET
- how do i stop system stack overflow in visual basic?
- Finding and Using Camera found in “Imaging Devices” in VB.NET
- Finding a specific colour within a bitmap range - VB.net 2022
- Filtering a double value
- How to call late bound extension method from VB.NET (Framework)
- Accessing a variable from a string
- Calling ToString with a nominated format returns Char rather than String
- Monthly attendance report in Crystal Report
- Progress Bar increment while running
- GetValue for Field contains too many arguments
- Icon of Window form application
- vb.net connection string to a regular google drive
- VB.NET how to check if a form already exists?
- How to get paste to work for pasting in text in a textbox?
- How to convert base64 string to image using vb.net
Related Questions in ACCESS-MODIFIERS
- Understanding protected in Java
- Why can't I declare a private member of a file-local type in another class within the same file?
- Scala case class: Is public var member possible?
- Python access modifiers as a decorator
- Why is overriding necessary for the clone() method in the class if we are calling the clone() on the instance of the class in some other class?
- What does a readonly modifier for a method do?
- Why can't public access modifier be used only in explicit interface implementation?
- Can I make internal enum visible to the test project, and use it in public test method?
- Problems with "Access Modifiers" in a class
- Private to Public Member Same Offset?
- kotlin access modifiers extending generic abstract class with internal class as generic parameter
- How to refer to protected members of an external class as default arguments for a constructor of a class template
- Accessing a protected field of a different-package class within a class through an object of another class extending the one containing the field
- C# - variable modifiable from only one method
- Why do I can't access to non-private member of anonymous object in Kotlin?
Related Questions in ACCESS-LEVELS
- How to verify user's access is still valid before accessing each page in next.js with nextauth?
- Can I customize the HTML, CSS, and JS for UI5 / Fiori?
- method must be declared internal because its parameter uses an internal type
- How to write the constructor instead of using Lombok to access public level?
- How to avoid having large files in Swift?
- Hide Interface from assembly
- ModelMapper mapping enum to same enum returns null
- Automatically change access level on a user in Azure DevOps
- Xcode Playgrounds: Source files are unable to be accessed by each other
- Open function in a non-open class
- Google AdWords account permissions via api
- Displaying levels of access for different types of accounts in a UML diagram
- What's the difference of `private` and `fileprivate` class in the same file in Swift?
- How to test private/internal extension methods?
- "Best" way to access IO.FileInfo Protected property (OriginalPath)?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
In general, try to keep your encapsulation intact. The relationship between your classes should be on "Need to know" basis.
Since I am not familiar with your application design,I am sure I am oversimplifying, but I would ask myself the following question:
Is the parent class the only class that needs to know the subclass? if so, It should be
private.If not, are all other entities that needs to about know the subclass are in the same project? if so, It should be
internal.If there are entities external to the project that needs to know about the subclass, it should be
public.As to the properties. If you decided to have the subclass
private, there is no use in making the propertiespublic.The only object that can have an instance of the class is the parent class, which is in the same project, and therefore
internalshould be enough for the properties.Note
C# does not have a
friendmodifier. Instead of that you can useinternal,or The-most similar-yet-less-elegant option: InternalsVisibleTo