我有一个类来声明string程序周围使用的常量:
public static class StringConstants
{
public const string ConstantA = "ConstantA";
public const string ConstantB = "ConstantB";
// ...
}
Run Code Online (Sandbox Code Playgroud)
从本质上讲,常量的实际值与分配和消耗时使用的无关.它只是用于检查.
常量名称将是相当不言自明的,但我想尝试避免多次使用相同的字符串值.
我知道这nameof()是在编译时进行评估的,因此完全可以将const string's值赋给nameof()成员.
为了节省写出这些魔术字符串,我考虑过使用nameof()常量本身.
像这样:
public static class StringConstants
{
public const string ConstantA = nameof(ConstantA);
public const string ConstantB = nameof(ConstantB);
// ...
}
Run Code Online (Sandbox Code Playgroud)
我想nameof()除了重构之外,使用它没有什么好处?
nameof()分配常量时是否有任何影响?
我应该坚持使用硬编码的字符串吗?
对于某些(模糊)原因,我的MVC 4应用程序在运行时返回一个guid:
var name = User.Identity.Name;
Run Code Online (Sandbox Code Playgroud)
我也在一个全新的MVC 4应用程序中对此进行了测试,这对我来说是新的行为.当我查阅有关IIdentity的文档时,它表明(我记得)Identity.Name应该
获取当前用户的名称.
为什么它会在我的情况下返回一个guid?
来自web.config
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
更多相关信息: 该应用程序也部署在另一台计算机上,与同一数据库通信.我们在该数据库中使用"User.Identity.Name"的值,当用户(新用户)不在那里时,我们添加一个具有该guid的新用户.
现在,奇怪的是:当您切换应用程序时(从localhost到部署在T上的应用程序),您需要再次登录.然后将User.Identity.Name设置为新的guid.
(使用启动器默认应用程序,我们当然不会与DB通信,但同样的事情发生; User.Identity.Name返回一个guid)
我有一个.NET应用程序,它在Amazon Aurora RDS中的MySQL数据库上执行查询.该数据库是MySQL 5.6数据库 - Aurora附带的版本.
我对数据库中的模式(名称:flight)执行查询(名称:SSIMLoader).我正在使用MySQL 6.9.8.0库.
edit:连接字符串指向群集中的主服务器,而不是指向特定服务器.
执行插入,选择和更新时会发生错误,因此没有真正的模式.即使简单的select语句也会随机失败
但是,通过MySQL工作台执行查询时,我们没有收到此类错误.
重新启动服务器后,错误消失了几天然后返回.
我们有一些非常激烈的查询,可以在长时间内将CPU提高到90%,但即使在CPU降低到10%之后,错误仍然存在.
有没有其他人经历过这个,如果有的话,你是怎么过去的?
提前致谢.
MySql.Data.MySqlClient.MySqlException(0x80004005):在MySql.Data.MySqlClient.MySqlConnection的MySql.Data.MySqlClient.NativeDriver.ReadOk(布尔读取)的MySql.Data.MySqlClient.MySqlStream.ReadPacket()中的未知数据库'flight'位于Universal.Access.Database.BaseDatabaseConnection的Universal.Access.Database.BaseDatabaseConnection.EstablishFactoryConnection()的MySql.Data.MySqlClient.MySqlConnection.Open()的MySql.Data.MySqlClient.MySqlConnection.Open()处的.ChangeDatabase(String databaseName)位于C:\ tc-projects\universal-platform\Universal.Core\DataModel\ExecutableDatabaseConnection.cs:第65行的Universal.Core.DataModel.ExecutableDatabaseConnection.ExecuteQuery(String sqlQuery)中的.ExecuteReader(CommandType commandType,CommandText commandText).
这是正在运行的查询:
UP-DEV | Universal.Core.Data.Importer Error finding current record, SQL: SELECT aircraft_config,updated_by,asa_flight_id,atd_utc,bay,terminal,is_cancelled,flight_number,created_at,from_iata,flight_date_utc,std_local,takeoff_time_local,is_international,is_aerocare,cobt_local,customer_atd_local,takeoff_time_utc,std_utc,atd_local,asa_state,aircraft_type,customer_atd_utc,carrier_code,updated_at,gate,service_type,etd_local,cobt_utc,flight_status,etd_utc,aircraft_rego,created_by,id,flight_date,to_iata FROM flight.departure_flight WHERE carrier_code='JQ' AND flight_date_utc='2017-01-20T00:00:00' AND flight_number='57' AND from_iata='MEL'. Database returned: Unknown database 'flight'
我一直在尝试找到一种方法,我可以实例化一个纯粹位于“后台”并侦听事件(并做一些事情)的服务——我希望在应用程序初始化时创建它,然后被遗忘.
不幸的是,我需要在组件中使用依赖项注入,以便实例化服务 - 我采用的大多数路径都导致使用AppComponent的构造函数。
我不会直接与服务交互(调用方法/属性),并希望将它与其他没有直接关系的组件/服务分开。
服务和其中的逻辑非常简单。我的服务基于Angular 2教程中的动态页面标题。
该服务将侦听NavigationEnd来自 的事件Router,抓取ActivatedRoute,然后使用路由的数据来设置页面标题。
与教程中的示例不同,我创建了自己的服务,而不是将逻辑放在AppComponent; 我想让我的关注点分离处于最佳状态。
页面标题.service.ts:
import { Injectable } from '@angular/core';
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { filter, map, mergeMap } from 'rxjs/operators';
@Injectable()
export class PageTitleService {
constructor(
router: Router,
activatedRoute: ActivatedRoute,
titleService: Title
) {
router.events
.pipe(
filter((event) => event instanceof NavigationEnd),
map(() => activatedRoute), …Run Code Online (Sandbox Code Playgroud) 背景
我正在研究客户的网站项目,我使用MVC来创建网站.我有EF使用SQLDB来存储数据.
我的WebApp配备了一个后台区域,用于管理/添加/更新Item等.
有问题的特定页面允许用户Item通过输入数据并单击表单上的"保存"来向数据库添加新内容.
将Item具有一定的特性,这都得到一个新行加入DB很好.
Item还包含一个List<Appointment>声明它的s(我将序列化这些并将它们保存在适当的列中).
对象看起来像这样(为简洁起见,我删除了一些属性):
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public List<Appointment> Appointments { get; set; }
// Plus some other properties
}
public class Appointment
{
public string Day { get; set; }
public string From { get; set; }
public string To { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经设置了一个ViewModel,我正在练习所有通常的好习惯.它看起来像这样:
public class AddItemViewModel
{
[Required(ErrorMessage = …Run Code Online (Sandbox Code Playgroud) 我有一个父div,其中包含三个divs,我想让它们高度相同,但它不起作用.第一个和第三个div包含每个图像.第二个div包含三个divs内容.
这是HTML:
<div class="container">
<div class="column1">
<img src="http://placehold.it/300x318">
</div>
<div class="column2">
<div class="row1">
<div class="text">UNIKE GUSTAVIANSKE STILMØBLER.</div>
<div class="text">VI SELGER HÅNDVERK ETTER 1700-</div>
<div class="text">OG 1800-TALLS TRADISJONER.</div>
</div>
<div class="row2"></div>
<div class="row3">
<div class="text">
Åpningstider:<br>
Man - Fre 11 -17 Lør 11- 15
</div>
</div>
</div>
<div class="column3">
<img src="http://placehold.it/300x318">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
该.container具有的CSS规则display:flex;.当我还应用此.column1,.column2并且.column3,布局休息.
我试图实现图像高度增加和减少依赖.column2.不幸的是,我无法更改HTML或使用JS.
在这里你可以看到一个JS-Fiddle.我已经注释掉了CSS规则.
非常感谢您的帮助!
考虑以下 XAML:
<Grid>
<TextBlock Text="Some Text" TextAlignment="Right" />
<TextBlock Text="Some Text" HorizontalAlignment="Right" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
只要两个TextBlocks 设置为相同的Grid.Row和Grid.Column,它们将始终出现在相同的位置 - 一个在另一个之上。
类似的概念,这里 - 两个 s 中的两行文本StackPanel完全对齐:
<Grid>
<StackPanel>
<TextBlock Text="Line One" HorizontalAlignment="Right" />
<TextBlock Text="Line Two" TextAlignment="Right" />
</StackPanel>
<StackPanel>
<TextBlock Text="Line One" HorizontalAlignment="Right" />
<TextBlock Text="Line Two" TextAlignment="Right" />
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
等等...
就在父级右侧显示文本而言,TextAlignment和HorizontalAlignment属性都在做同样的事情 - 从我所看到的。
TextAlignment有人能告诉我 s和sHorizontalAlignment之间的实际区别是什么吗TextBlock?
两者有优先选择吗?
使用这两者有什么影响吗?
功能部署有错误。要继续部署其他功能(例如数据库),请运行:
firebase deploy --except functions
Run Code Online (Sandbox Code Playgroud)
错误:
功能未正确部署。
是否有一个 CSS 选择器(如伪类)可以在details元素打开时定位该元素?
一种可能的用途是summary在用户打开元素时更改元素的颜色details。
我在布局Controller中有以下Action
public JsonResult getlayouts(int lid)
{
List<layouts> L = new List<layouts>();
L = db.LAYOUTS.Where(d => d.seating_plane_id == lid).ToList()
return new JsonResult { Data = L, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
Run Code Online (Sandbox Code Playgroud)
我从另一个控制器调用此Action,如下所示:
layoutsController L = new layoutsController();
JsonResult result = L.getlayouts(lid);
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何从结果对象中获取数据?
我正在构建一个覆盆子Pi(Windows IoT)的应用程序,它接受UDP消息并在屏幕上显示它们.
我需要一种方法让文本自动水平滚动屏幕.我无法让用户点击按钮,因为没有连接到Pi的输入设备.
到目前为止,我一直在玩一个滚动查看器并手动调整它的HorizontalAlignment值,但没有用(我对整个UWP/XAML的东西都是新手).
任何人都可以向我展示一些代码,这些代码可以使文本块中的文本自动从右向左滚动(文本在数字显示器上滚动的方式),不会中断应用程序中运行的任何其他代码(接收udp消息和勾选计时器)?
提前谢谢了.
我编写了以下代码,因为我想以列表的形式将字符串保存到文本文件的末尾.
但是,在我尝试保存某些内容时,它会删除文件中的所有先前文本,并添加最新文本.以下是我的代码:
using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt"))
{
writer.WriteLine(productTextBox.Text + Environment.NewLine);
writer.Close();
}
Run Code Online (Sandbox Code Playgroud)
先谢谢你,露西
I have a virtual method in a base class, which takes an object as a parameter.
I override this in derived classes - more specifically, view models - in order to work with the different objects from there, also:
public override void SomeMethod(object parameter)
{
// ...
base.SomeMethod(parameter);
}
Run Code Online (Sandbox Code Playgroud)
EDIT: Just to clarify - I am unable to change the SomeMethod signature in the base class - unfortunately, I'm stuck with object as the type :(
Let's say that …