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 best solutions below
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#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
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
- Unit test package protected classes without mock
- In Java, memory-wise does it make a difference to use private vs public?
- Why PHP does not have class access modifiers?
- Do constructors always have to be public?
- Can you convert an attribute to a modifier?
- Does Java have a "private protected" access modifier?
- Should methods in a web app be public or internal?
- What is assembly in C# in the context of internal access modifier?
- Is it possible to limit instances of public inner enum or class to its parent class in C#?
- How to make Aggregate Root method only accessible for a Domain Event and nothing else.
- Access modifier warning with internal class and private props
- Member Class access modifier
- Private class as return type from public method
- Why toString() cannot be a static method?
- Why does serialization have access to private constructors?
Related Questions in ACCESS-LEVELS
- How can events be handled when the class is static?
- Determining access level of a field
- Why can't extensions with protocol conformances have a specific access level?
- Protected & internal, not protected or internal
- Default security parameter in classes
- Access level of property in Private Class
- XmlSerializer treated as private, although is public
- Protection Levels and Visual Studio unit tests with C#
- How can I add user/access levels to my current login script?
- Swift: Calling function from a different target
- Enforcing Access levels in php
- C# protected field to private, add property--why?
- How to restrict access to nested class member to enclosing class?
- Displaying levels of access for different types of accounts in a UML diagram
- Java define a explicit package-private modifier
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)
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?
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