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 95073
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T23:36:04+00:00 2026-05-10T23:36:04+00:00

I have a problem with reflection. I need to find the type that instantiates

  • 0

I have a problem with reflection. I need to find the type that instantiates a static member. My code looks like this:

    private class SimpleTemplate : PageTemplate     {         internal static readonly IPageProperty NameProperty =             PropertyRepository.Register('Name');     } 

The PropertyRepository is a repository of properties (obviously). It keeps track of all the properties that have been registered using the type system that I’m building.

In order to do that successfully, I need to keep track of all the properties but also the type on which they are defined. Otherwise, if two properties with the same name are defined, the property repository won’t be able to tell them apart.

So, what I want to do is to find out the type that defines the NameProperty and store the type as well as the name. How can I do that?

I want to use strong typing, i.e. I do not want to send the type as an argument to PropertyRepository.Register. That would be error-prone since I can’t validate that the type argument is correct.

The solution, I imagine, would involve reflection. Is there any way to use reflection to determine which type calls a static method? The static properties are implicitly instantiated using a static constructor (that the compiler generates). Is there a way for me to get a handle to that constructor? That seems feasible, I just cannot figure out how to do that.

In other words: If method A calls method B, is there any way B can tell that it was called from A using reflection? I imagine there is, but I cannot find out how.

Does anyone know?

Edit: I’ve looked at the StackFrame class and while it seems to do what I want, it may not be reliable in production code (and I need that).

  • 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. 2026-05-10T23:36:04+00:00Added an answer on May 10, 2026 at 11:36 pm

    This is almost a duplicate of this question, but not quite. Look at that one’s answers though.

    Personally I think I’d pass in the type. An alternative would be to use an attribute, e.g.

    [PropertyName('Name')] private static readonly IPageProperty NameProperty = null;  static {     PropertyRepository.RegisterProperties(typeof(SimpleTemplate)); } 

    PropertyRepostiory.RegisterProperties could then set the value of the readonly field using reflection (if this works – I haven’t tried it; the readonly-ness might be enforced). It’s a bit icky though… Alternatively, you could just get the property from the repository when you need it.

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

Sidebar

Ask A Question

Stats

  • Questions 255k
  • Answers 255k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Setting bigger chunkSize/prefetchSize will improve performance of iteration over big… May 13, 2026 at 10:26 am
  • Editorial Team
    Editorial Team added an answer The single-threaded model should almost always be avoided. (I'm assuming… May 13, 2026 at 10:26 am
  • Editorial Team
    Editorial Team added an answer Use a job queue system and do the long operation… May 13, 2026 at 10:26 am

Related Questions

I am using reflection along with linq.Dynamic, and I am having a small problem
Platform: C# 2.0 Using: Castle.DynamicProxy2 I have been struggling for about a week now
I have 3 points (A, B and X) and a distance (d). I need
I'm having some problems trying to figure out how to solve a problem without

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.