小编Fra*_*lva的帖子

IPAddress.Parse()使用IPv4上的端口

我正在尝试使用IPAddress.Parse解析包含IP地址和端口的字符串.这适用于IPv6地址但不适用于IPv4地址.可以解释为什么会发生这种情况吗?

我正在使用的代码是:

IPAddress.Parse("[::1]:5"); //Valid
IPAddress.Parse("127.0.0.1:5"); //null
Run Code Online (Sandbox Code Playgroud)

.net c# ip-address tcp-port

12
推荐指数
4
解决办法
2万
查看次数

如何引用具有相同名称的不同程序集?

我有 2 个不同的同名程序集需要添加到我的项目中。

当我尝试将两个引用添加到项目时,visual studio 告诉我该程序集已被引用(因为已经有一个同名的程序集)。

我尝试重命名其中一个文件。我可以添加两个引用,但是当从重命名的程序集中访问方法时,解析失败(因为 .net 尝试使用原始名称加载程序集)。

注意:程序集不是我的,因此我无法更改它们的内容。

.net visual-studio-2008

5
推荐指数
1
解决办法
3464
查看次数

在父方法中访问子级的静态属性

说我有以下代码:

class Parent
{

    static string MyField = "ParentField";

    public virtual string DoSomething()
    {
        return MyField;
    }
}

class Child : Parent
{
    static new string MyField = "ChildField";
}
Run Code Online (Sandbox Code Playgroud)

现在我希望能够做到以下两点:

Console.WriteLine(Parent.MyField);
Console.WriteLine(Child.MyField);
Run Code Online (Sandbox Code Playgroud)

这些工作按预期工作,但我也想这样做:

Child c = new Child();
Console.WriteLine(c.DoSomething());
Run Code Online (Sandbox Code Playgroud)

因为没有为Child类定义DoSomething(),所以返回了Parent的MyField,但我想要的是Child的MyField.

所以我的问题是:我有什么方法可以做到这一点?

注意:覆盖Child类中的方法是一个选项,但由于我将从Parent继承许多Child类,并且该方法应该在所有这些中执行相同的操作,因此更改此方法中的某些内容会带来很多麻烦.

c# c#-3.0

3
推荐指数
1
解决办法
1239
查看次数

将短/dos 样式路径名转换为完整路径名

标题说明了一切。我见过很多执行相反操作的解决方案,但不是这种方式。

我正在使用 Qt 创建临时文件。如果我知道它的名字,它会是这样的:

QTemporaryFile tempFile;
tempFile.open();
qDebug() << tempFile.fileName();
// C:/Users/USERNA~1/AppData/Local/Temp/qt_temp.Hp4264
Run Code Online (Sandbox Code Playgroud)

我尝试过一些解决方案,例如使用 QFileInfo:

QFileInfo fileInfo(tempFile);
qDebug() << fileInfo.filePath()
Run Code Online (Sandbox Code Playgroud)

和 QDir:

QDir dir(tempFile.fileName());  
qDebug() << dir.absolutePath();
Run Code Online (Sandbox Code Playgroud)

没有成功。

有没有纯粹使用 Qt 的解决方案?我知道我可以导航目录树来查找全名,但我试图避免这种情况,特别是因为两个文件夹可能具有相同的前缀。

c++ qt

3
推荐指数
1
解决办法
1383
查看次数

标签 统计

.net ×2

c# ×2

c#-3.0 ×1

c++ ×1

ip-address ×1

qt ×1

tcp-port ×1

visual-studio-2008 ×1