Tag: 别名

function别名

我想从kernel32.dll导入一些函数,但我想使用不同的名称。 function示例: [DllImport(“kernel32.dll”)] private static extern bool ReadProcessMemoryProc64 (…); private static bool BetterReadableAndWriteableName (…) { ReadProcessMemoryProc64(…); } 如果有另一种方式,包装该function是我实际上不想要的。

如何使用System.DirectoryServices.ActiveDirectory.Domain类获取域别名

我们有一个全名域名,例如long-domainname.com ; 此域名将替换为别名short 。 可以使用netapi32.dll检索此别名,如下所示: [DllImport(“Netapi32.dll”)] static extern int NetApiBufferFree(IntPtr Buffer); // Returns the domain name the computer is joined to, or “” if not joined. public static string GetJoinedDomain() { int result = 0; string domain = null; IntPtr pDomain = IntPtr.Zero; NetJoinStatus status = NetJoinStatus.NetSetupUnknownStatus; try { result = NetGetJoinInformation(null, out pDomain, out […]

在C#中为函数名创建别名

我想在C#中为funcion名称创建一个别名。 除了函数重载有什么办法吗? public class Test { public void A() { … } } 我想打电话给B替换下面的A。 var test = new Test(); test.B();

有没有办法定义现有基本类型的C#强类型别名,如`string`或`int`?

也许我正在certificate我对C#或.NET框架的一些常用function的无知,但我想知道是否有一种本机支持的方法来创建一个类型别名,如EmailAddress ,它别名string但我可以扩展它与我自己的方法,如bool Validate() ? 我知道using x = Some.Type; 别名但这些不是全局的,也不提供类型安全性,即可以为当前文件中的使用别名换出普通string 。 我希望我的EmailAddress是它自己的类型,独立且不能与它所影的string类型互换。 我目前的解决方案是生成public sealed partial EmailAddress : IEquatable, IXmlSerializable带有T4模板的public sealed partial EmailAddress : IEquatable, IXmlSerializable类,生成样板隐式字符串转换运算符和其他类似的东西。 这对我来说很好,并给了我很大的灵活性,但在我的脑海里,我必须生成如此大量的样板代码才能做一些像创建强类型别名一样简单的事情。 也许除了代码生成之外,这是不可能的,但我很好奇其他人是否尝试过与他们的设计相似的东西以及你的经历。 如果没有别的,也许这可以作为假设未来版本的C#中的这种别名function的一个很好的用例。 谢谢! 编辑:我想要的真正价值是能够通过表示数据的不同类型/格式的原始类型获得类型安全性。 例如, EmailAddress和SocialSecurityNumber以及PhoneNumber ,所有这些都使用string作为其基础类型,但它们本身并不是可互换的类型。 我认为这可以让你获得更具可读性和自我记录的代码,更不用说更多方法过载可能性的附加好处,而不是模棱两可。

C#中generics类型的命名空间范围别名

让我们举个例子: public class X { } public class Y { } public class Z { } public delegate IDictionary<Y, IList> Bar(IList x, int i); public interface IFoo { // … Bar Bar { get; } } public class Foo : IFoo { // … public Bar Bar { get { return null; //… } } […]

如何让命名空间别名operator ::在C#下工作?

当我引用两个具有相同命名空间和类型名称的外部程序集时,我遇到了不太可能发生的情况。 当我尝试使用该类型时,编译器抛出一个错误,它无法解析我想要使用的那个。 我看到C#提供了一种为引用使用别名的机制。 您甚至可以通过Visual Studio 2008中引用的“ Property窗口指定这些别名。如何在代码中使用此别名? 据我所知,我应该使用::运算符,但它失败并出现以下错误: CS0432 – Alias not found 通常的. 运营商也失败了。 在输出窗口中,我看到编译器在其命令行中正确传递了别名。 关于我接下来可能尝试的任何指示都非常感谢。

为什么一个别名的C#Type不能被另一个访问?

好东西 // ok to alias a List Type using AliasStringList = System.Collections.Generic.List; // and ok to alias a List of Lists like this using AliasListOfStringList1 = System.Collections.Generic.List<System.Collections.Generic.List>; 坏的东西 // However **error** to alias another alias using AliasListOfStringList2 = System.Collections.Generic.List; 产生编译错误 找不到类型或命名空间名称’AliasStringList’(您是否缺少using指令或程序集引用?) 注意:这是using指令而不是using语句 。

C#:如何为类创建“别名”

我甚至不知道它是否被称为别名,但无论如何让我继续。 你知道C#中的System.String类型是如何用“字符串”排序“别名”的? 在Visual Studio中,“string”是小写和蓝色文本。 我想对一些冗长的class级名字这样做。 有些都像“RelocatedPlantProductReleaseItem”。 我无法更改它的名称,但这么长的名字确实使代码啰嗦。 我希望能够使用“Rppr”代替。 所以不是这样的: RelocatedPlantProductReleaseItem Item = new RelocatedPlantProductReleaseItem(); 我想去: Rppr Item = new Rppr(); 我知道我可以创建一个名为Rppr的类,并让它inheritance自RelocatedPlantProductReleaseItem,但这看起来很糟糕。 此外,我上面给出的场景完全是虚构的。 我只是用它来演示我想要实现的基本function。 另外,当“string”表示System.String时,技术上称之为什么? 更新:感谢所有答案,伙计们,但我想我应该指明我希望这是一个全球性的事情。 我不想在每个代码文件的顶部指定它。 我想在一个地方指定它,它在整个应用程序中的任何地方都可以工作,即使在引用其程序集的其他程序集中也是如此。