I have created a public static class utils.cs I want to use it in other classes without prefixing method with utils, what’s the syntax to do this ?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
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.
What Jon Skeet is not telling you is that you can have global static members in c#. Your utility class can indeed become a reality in c#.
Unfortunately, Microsoft has determined that the very process of constructing such members as above mere “normal” development, and requires that you forge them from raw intermediate language. Such a powerful pattern is above common syntax highlighting and friendly icons).
Here is the requisite sequence of utf-8 characters (guard it carefully):
(You could compile this example by invoking ilasm.exe from the SDK command prompt, remembering to use the /dll switch)
ilasm.exe output:
Microsoft (R) .NET Framework IL Assembler. Version 2.0.50727.4016
Copyright (c) Microsoft Corporation. All rights reserved.
Assembling ‘globalmethods.msil’ to DLL –> ‘globalmethods.dll’
Source file is ANSI
global.msil(7) : warning — Reference to undeclared extern assembly ‘mscorlib’.
Attempting autodetect
Assembled global method MyUtilMethod
Creating PE file
Emitting classes:
Emitting fields and methods:
Global Methods: 1;
Emitting events and properties:
Global
Writing PE file
Operation completed successfully
Once you have compiled your newly created assembly (as “globalmethods.dll” for example), it’s just a matter of adding a reference in Visual Studio. When that is complete, you better be sitting down, because it will be time to write some real code:
Yes, you just called a Global method in c#.
*Please don’t use this, it’s for example only 🙂 Also, you could probably write your global methods in another language that support them, such as VB.NET.