Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7862787
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T23:17:01+00:00 2026-06-02T23:17:01+00:00

I’m coming from Java and I’m fairly new to C#, so please bear with

  • 0

I’m coming from Java and I’m fairly new to C#, so please bear with me in case I don’t use the correct terms or I’m thinking to “java-ish”.

Situation

I’m working on a package (all classes in the same namespace) that provides facades to consume data from a few remote services. For each facade there is an interface (like IEventServiceGateway) and an implementation (like EventServiceGateway), all declared public. Each of these implementations consumes data from at least one service, all a bit verbose, so I wrote a client class (like UserServiceClient) for each that provides common operations to all implementations. Because nobody outside of the package should use them, I declared them internal. Furthermore, I did the same with the WCF proxies.

I have two assemblies, one for the facades and the clients and one for the unit tests, the namespace of both is the same.

Problems

  • I cannot unit test the internal classes, because they are not accessible in the assembly containing the unit tests. I know there are “hacks” to circumvent these restrictions, but using such hacks usually means that I’m using things not as supposed. Not testing the clients does not seem like a sensible solution, because the code paths would be much to complex when just testing the facades. Furthermore, I would test the same things like edge cases over and over again.
  • I cannot inject the internal classes into the facades using constructor injection, because visibility of the argument is “lower” than the visibility of the constructor. But hard coding of the WCF proxies reduces the testability.

So I have the feeling that either my design is borked because I totally misunderstood the thing with the facades (that only the facades and their implementations should be accessible, nothing else), that my project setup is flawed or that something else is wrong.

I would greatly appreciate if somebody could enlighten me.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T23:17:02+00:00Added an answer on June 2, 2026 at 11:17 pm

    You could use the InternalsVisibleToAttribute attribute:

    When you add that to your assembly that’s internal, you can specify other assemblies that can have access that normally wouldn’t be able to.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want use html5's new tag to play a wav file (currently only supported
I am currently running into a problem where an element is coming back from
For some reason, after submitting a string like this Jack’s Spindle from a text
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I am trying to understand how to use SyndicationItem to display feed which is
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
I have a text area in my form which accepts all possible characters from
Does anyone know how can I replace this 2 symbol below from the string
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.