To reply to your question, I've done the following: I counted total number of public members of all public types of just two most used standard .NET libraries: "mscorelib" and "System.Core", both covering the name space System. I did not count the types, only the type members, such as
System.String.Substring
.
Here are the results:
<il>mscorelib: 39882 public members
<il>System.Core: 6811 public members
<il>Total: 46693 public members
These two assemblies are most used in all .NET development. Let's make the most conservative assumption: you're going to use only 10% of all members and only 10% of the methods you're going to use are as "non-trivial" as
System.String.Substring
, so they potentially may cause you to ask your CodeProject questions. Effectively, it means you will feel a need to ask your questions only about 1% of the members.
It will give an
estimate of some 450 CodeProject questions (after rounding in the direction of reduction). It does not seem practical.
Don't you thing there is something wrong with your method of learning?
Did you notice that Microsoft provides a MSDN help page in each and every public member of each type?
APPENDIX:
Is someone is curious, here is how I did the calculations:
using System;
using System.Reflection;
static int CountPublicMembers(Assembly assembly) {
int result = 0;
Type[] types = assembly.GetTypes();
foreach (Type type in types)
result += type.GetMembers().Length;
return result;
}
static void CountAll() {
Assembly mscorelib = typeof(System.String).Assembly;
Assembly systemCore = typeof(System.Action).Assembly;
int iMscorelib = CountPublicMembers(mscorelib);
int iSystemCore = CountPublicMembers(systemCore);
System.Console.WriteLine(
"{0}+{1} = {2}",
iMscorelib, iSystemCore,
iMscorelib + iSystemCore);
}
—SA