这似乎是一个愚蠢的问题,但我无法弄清楚.我的页面上有一些锚标记只能执行ajax函数,除了触发javascript之外没有固有的用法:
<a href="#" onclick="SomeFunction();">Blah</a>
Run Code Online (Sandbox Code Playgroud)
如何防止点击此链接从滚动一直到页面顶部.它引起了一些恼人的UI可用性问题.
我正在尝试创建一个单元测试来验证我的加载AutoMapper配置的方法是否正常工作.我加载AutoMapper配置的想法是将配置调用放在具有以下接口的类中:
public interface IEntityMapConfiguration
{
void ConfigureMapping();
}
Run Code Online (Sandbox Code Playgroud)
要动态加载它们,我有以下加载器类
public class EntityMapLoader
{
public static void LoadEntityMappings()
{
// Load all IEntityMapConfiguration classes via reflection
var types = AppDomain.CurrentDomain
.GetAssemblies()
.SelectMany(x => x.GetTypes())
.Where(x => x.IsSubclassOf(typeof(IEntityMapConfiguration)))
.Select(x => x as IEntityMapConfiguration)
.ToList();
foreach (var config in types)
config.ConfigureMapping();
}
}
Run Code Online (Sandbox Code Playgroud)
为了验证这一点,我创建了以下单元测试
public class UnitTestEntityViewModel
{
public int Id { get; set; }
public int Text2 { get; set; }
}
public class TestProjectionMapping : IEntityMapConfiguration
{
public void ConfigureMapping()
{ …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Linq到XML从XML中提取一些数据,我有以下代码:
commisionPct = XDocument.Parse(commissionXml)
.Descendants("Range")
.Attributes("commission")
.Select(x => Convert.ToDecimal(x.Value))
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
问题是我不希望它是异常,如果x.Value
不是小数.通常我会使用,decimal.TryParse
但我不确定在linq语句中做一个干净的方法.我想我可以使用try/catch块来包围它,但我很好奇是否有更好的方法在Linq中执行此操作.
如果它不是小数,我希望它返回十进制默认值(0).
我正在尝试创建一个小型IRC服务器来学习一些新的编程概念(以及其他我没有永远使用过的概念).第一步是通过TCP连接基本客户端,向服务器发送明文命令.
要监听连接,我有以下代码:
public NetworkClient(Server server, TcpClient socket, int id)
{
_socket = socket;
_id = id;
_server = server;
}
private async void ListenForClients()
{
int numClients = 0;
while (IsRunning)
{
var tcpClient = await _listener.AcceptTcpClientAsync();
var netClient = new NetworkClient(this, tcpClient, numClients);
netClient.Start();
Console.WriteLine("Client Connected");
numClients++;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的NetworkClient
班上我的Start()
方法看起来像:
public async void Start()
{
using (var reader = new StreamReader(_socket.GetStream()))
{
while (_server.IsRunning)
{
var line = await reader.ReadLineAsync();
Console.WriteLine("Client {0} wrote: {1}", _id, …
Run Code Online (Sandbox Code Playgroud) 我觉得我在这里误解了一些东西.
假设我有数字1,2,3和4,我想要添加5和6.常识告诉我List.append
它,但当我尝试时,我得到:
[1; 2; 3; 4] |> List.append [5; 6] ;;
val it:int list = [5; 6; 1; 2; 3; 4]
为什么它会将值添加到我的列表中而不是附加它们?