gpt4 book ai didi

c# - 在两个命名空间中使用相同的类名 - 优先考虑其中之一

转载 作者:行者123 更新时间:2023-12-04 17:03:39 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is it possible to define an alias for a class in .NET?

(2 个回答)


7年前关闭。




在不同的命名空间中有 2 个具有相同名称的类。

其中一个是 .aspx 页面,一个是表示我的数据库中的条目的业务类(我使用的是 CSLA)。

我在 aspx 页面的命名空间中工作,通常我永远不需要调用页面类,但经常需要调用业务类。

我已经在寻找解决方案了。我发现在我的页面类的命名空间块中编写一个使用部分以获得更高的优先级。这里的问题是我正在写入的命名空间仍然具有最高优先级,页面类就是这个命名空间。

有没有办法让另一个命名空间的优先级高于我目前正在编写的命名空间?

最佳答案

Is there a way to prioritize another namespace higher then the one I am currently writing in?



不直接。如果发生冲突,我不希望编译器“选择”命名空间,我希望它让我修复冲突,这就是它所做的。

我要么明确声明另一个命名空间以避免冲突,要么使用别名。

从 ViewModel 映射到域对象时,我经常看到这一点:
namespace Domain
{
public class User
{
}
}

namespace ViewModel
{
public class User
{
// another class with different properties
}
}

Controller :
using Domain;
using ViewModel;

public class UserController
{
public Save(Model.User user)
{
Domain.User dUser = Mapper.Map(user);
repository.Save(dUser);
}
}

或者
using DUser = Domain.User;
using VMUser = ViewModel.User;

public class UserController
{
public Save(VMUser user)
{
DUser dUser = Mapper.Map(user);
repository.Save(dUser);
}
}

关于c# - 在两个命名空间中使用相同的类名 - 优先考虑其中之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25327193/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com