我想获取T使用它的类型名称:
typeof(T).Name
Run Code Online (Sandbox Code Playgroud)
这个班的名字是 ConfigSettings
而不是返回ConfigSettings它返回ConfigSettings`1.
有什么具体原因吗?如何在没有的情况下返回实际名称`1?
嘿,我认为标题总结了它,但仍然.
我需要从已编译的.class文件中提取对象的完全限定名称,有人能指出我正确的方向吗?
谢谢,
亚当.
我正在尝试用Java获取我的机器(Windows 7 x64)的完全限定名称.在我的机器上,我更新了c:\ Windows\system32\drivers\etc\hosts文件,使其具有如下条目:
10.44.2.167 myserver myserver.domain.com
Run Code Online (Sandbox Code Playgroud)
我们所有的系统在\ etc\hosts文件中都有一个条目(以上格式),我无法更改.
以下代码始终返回"myserver",我永远无法获得完全限定的名称.
InetAddress addr = InetAddress.getLocalHost();
String fqName = addr.getCanonicalHostName();
Run Code Online (Sandbox Code Playgroud)
我如何用Java实现这一目标?
谢谢,
Shreyas
现在,我发现我在一个非常单人的环境中工作,实际上我键入的完全合格方法调用越来越多,而不是使用using指令。以前,我只是与团队中最杰出的编码实践保持一致。
就个人而言,我发现一目了然地阅读冗长的代码,尤其是在自动完成时,输入速度很快,而且我发现自己经常使用Google作为我的文档来源,而全限定名返回的结果集要窄得多。这些显然是非常随意的原因,而不是使用using指令,它们更倾向于完全合格。
在当今的重构工具时代,是否有具体的原因为什么使用using指令要优于完全合格的指令,反之亦然?或者这纯粹是由个人决定的问题,例如注释间距?最后,您更喜欢哪个,为什么?
我一直认为应用程序的唯一后向域标识符不区分大小写,但看起来,是吗?
我有两个服务器在同一个域上运行Windows Server 2012 R2,\ tt-sql.perf.corp和\ tt-file.perf.corp.文件服务器上的共享文件夹中有一个Powershell脚本,\ tt-file.perf.corp\fileshare\helloworld.ps1.我在sql server上有一个应用程序执行以下命令:
powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file.perf.corp\fileshare\helloworld.ps1'"
它失败了,出现以下错误:
&:AuthorizationManager检查失败.在行:1 char:3 +&'\ tt-file.perf.corp\fileshare\helloworld.ps1'+ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:SecurityError:(:) [],PSSecurityException + FullyQualifiedErrorId:UnauthorizedAccess
如果我更改使用IP地址的路径,它也会失败.
但是,当脚本的路径不完全限定时,它可以工作:
powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file\fileshare\helloworld.ps1'"
Windows Management Instrumentation服务正在两台服务器上运行.我也在两台服务器上运行了Get-ExecutionPolicy,两者都设置为Unrestricted.两台服务器上都禁用了UAC.这是怎么回事?
我刚刚学会了如何在Erlang中升级模块,我知道只有使用完全限定名称的函数调用(例如.module:function())才能"重新链接"到加载到VM中的当前版本,但函数调用没有指定模块的名称不会"重新链接"到当前版本,但继续使用旧版本.
是否有关于何时使用完全限定函数调用以及何时可以通过其名称调用函数的经验法则?使用全名调用所有函数是不是一个坏主意(比如module:function())?
我正在尝试在.NET控制台应用程序中发送电子邮件.我有一个SMTP服务器,其iP地址为XXXX(为了保护无辜而进行了清理).
已设置SMTP服务器(已配置中继)以允许来自托管.NET控制台应用程序的服务器的电子邮件,并将该电子邮件发送到外部世界.
我已经使用telnet从托管控制台应用程序的服务器测试了这个.我使用SMTP服务器的IP地址从托管控制台应用程序的服务器成功发送了一封带有telnet控制台的电子邮件.使用telnet时无需身份验证.我没有获得任何连接凭据.
但是当我尝试在.NET应用程序中执行此操作时,我收到以下错误:
Syntaz错误,命令无法识别.服务器响应是:Helo命令被拒绝:需要完全限定的主机名
这是我的代码:
string mailMessagetest = "test";
string subjecttest = "test";
List<string> recipienttest = new List<string>();
recipienttest.Add("me@mydomain.com");
utility.SendMail(recipienttest, subjecttest, mailMessagetest);
Run Code Online (Sandbox Code Playgroud)
这是SendMail函数:
public static void SendMail(List<string> recipient, string subject, string message)
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("myfriend@mydomain.com");
foreach (string to in recipient)
{
mailMessage.To.Add(to);
}
mailMessage.Subject = subject;
mailMessage.Body = message;
SmtpClient client = new SmtpClient();
client.Host = "X.X.X.X";
client.Port = 25;
client.Send(mailMessage);
}
Run Code Online (Sandbox Code Playgroud) 在最近的讨论中,问题是我们是否应该始终完全限定类定义中当前类的名称,并且在引用当前模板本身时也使用显式专用模板.把它们加起来:
namespace foo {
struct Foo {
doSomething(foo::Foo& other); // arguably good
doSomething(Foo& other); // arguably bad
};
}
template<typename T>
struct Bar {
doSomething(Bar<T>& other); // arguably good
doSomething(Bar& other); // arguably bad
};
Run Code Online (Sandbox Code Playgroud)
问题是,没有人可以用严格的事实来支持他们的主张,它只是" 名称查找可能出错 "而不是" meh,从来没有任何问题 ".
为了解决这个问题:这两个约定是否严格等同,或者"坏"有时会在名称查找中引入含糊之处?参考现行标准将是非常好的.
当然,不应该考虑易读性的论点,我真的在询问符合标准的编译器在极端情况下的表现.但是,已知的实现错误也是受欢迎的.
c++ fully-qualified-naming language-lawyer explicit-specialization
c# ×2
java ×2
.class-file ×1
android ×1
c++ ×1
coding-style ×1
decompiling ×1
erlang ×1
generics ×1
google-play ×1
hostname ×1
inetaddress ×1
namespaces ×1
powershell ×1
python ×1
smtp ×1