有谁知道C#编译器编号文字修饰符的完整列表?
默认情况下,声明'0'使其成为Int32,'0.0'使其成为'Double'.我可以在末尾使用文字修饰符"f"来确保将某些内容视为"单个".比如这样......
var x = 0; // x is Int32
var y = 0f; // y is Single
Run Code Online (Sandbox Code Playgroud)
我可以使用的其他修饰符是什么?是否有一个强制Double,Decimal,UInt32?我试着谷歌搜索但找不到任何东西.也许我的术语是错误的,这就解释了为什么我的空白.任何帮助非常感谢.
似乎Silverlight/WPF是使用.NET进行用户界面开发的长期未来.这很棒,因为我可以看到在客户端和Web开发方面重用XAML技能的优势.但是看看WPF/XAML/Silverlight它们看起来是非常大的技术,那么哪里是最佳起点?
我想听听任何对这两者都有很好了解的人,并且可以推荐哪一个更好的起点和原因.
我正处于Web应用程序的规划阶段,该应用程序将在Azure中托管,其中包含用于Web站点的ASP.NET和用于丰富用户体验的Silverlight.我应该使用Azure Tables还是SQL Azure来存储我的应用程序数据?
我有一个Visual Studio安装项目,我用它来安装一个相当简单的WinForms应用程序.在安装结束时,我有一个自定义用户界面页面,显示一个复选框,询问用户是否要运行该应用程序.我见过其他安装人员经常这样做.但是在安装完成后,我找不到让安装项目运行可执行文件的方法.一个想法?
注意:您不能使用自定义操作,因为这些操作是安装过程的一部分,我想在用户按下安装结束时的"关闭"按钮后运行我安装的应用程序.
我正在构建一个Windows对话框,其中包含标准的"确定"和"取消"按钮.鉴于Windows在其自己的对话框中使用相同的按钮文本,我是否有办法获取要在按钮上使用的正确字符串?
这样,无论使用哪种语言,我的应用程序都将拥有正确的字符串,而无需我自己将其本地化为许多不同的语言.我正在使用C#,但如果需要,可以愉快地使用平台调用来访问OS方法.
注意:是的,我可以轻松地本地化资源,但我不想找到并且必须在已经存在于Windows中时输入数以万计的不同语言字符串.请不要回答说本地化应用程序!
我想在传入的绑定整数上添加一个常量值.事实上,我有几个地方,我想绑定到相同的源值,但添加不同的常量.所以理想的解决方案就是这样......
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=5}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=8}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=24}"/>
Run Code Online (Sandbox Code Playgroud)
(注意:这是一个展示这个想法的例子,我的实际绑定方案不是TextBox的canvas属性.但这更清楚地表明了这个想法)
目前,我能想到的唯一解决方案是暴露许多不同的源属性,每个属性都将不同的常量添加到相同的内部值.所以我可以做这样的事......
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus5}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus8}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus24}"/>
Run Code Online (Sandbox Code Playgroud)
但这非常严峻,因为将来我可能需要不断为新常量添加新属性.此外,如果我需要更改添加的值,我需要更改源对象,这是非常naff.
必须有比这更通用的方法吗?任何WPF专家都有任何想法?
我在列表控件中有很多项.我希望每个项目都有不同的项目模板,具体取决于项目的类型.因此列表中的第一项是ObjectA类型,因此我希望它使用ItemTemplateA进行渲染.第二项是ObjectB类型,所以我希望它有ItemTemplateB进行渲染.目前我只能使用ItemTemplate设置为它们定义一个模板.有没有办法实现这个目标?
最好使用代码解释.我有一个泛型类,它有一个返回整数的方法.这是一个简单的版本,用于解释......
public class Gen<T>
{
public int DoSomething(T instance)
{
// Real code does something more interesting!
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
在运行时,我使用反射来发现某事物的类型,然后想要为该特定类型创建我的Gen类的实例.这很容易,像这样完成......
Type fieldType = // This is the type I have discovered
Type genericType = typeof(Gen<>).MakeGenericType(fieldType);
object genericInstance = Activator.CreateInstance(genericType);
Run Code Online (Sandbox Code Playgroud)
我现在想要创建一个Expression,它将参数作为泛型类型的一个实例,然后调用该类型的DoSomething方法.所以我希望Expression能有效地执行此操作......
int answer = genericInstance.DoSomething(instance);
Run Code Online (Sandbox Code Playgroud)
...除了我之前在运行时某点之后没有'实例',并且genericInstance是生成的类型,如上所示.我为此创建Lambda的尝试如下......
MethodInfo mi = genericType.GetMethod("DoSomething",
BindingFlags.Instance | BindingFlags.Public);
var p1 = Expression.Parameter(genericType, "generic");
var p2 = Expression.Parameter(fieldType, "instance");
var x = Expression.Lambda<Func<genericType, fieldType, int>>
(Expression.Call(p1, mi, p2),
new[] { p1, p2 }).Compile();
Run Code Online (Sandbox Code Playgroud)
......所以以后我可以用这样的东西来称它...
int …
Run Code Online (Sandbox Code Playgroud) 有人使用WPF进行真正的LOB应用吗?
我们都看到了WPF的巧妙演示,展示了映射到3D元素的视频.这些看起来很棒,但是构成大多数开发人员工作的业务线应用程序的真实世界呢.WPF只是为了好眼睛糖果吗?
我有一个数据文件,有时我需要写一个文件的更改.变更包括在多个地方更改信息.例如,更改文件末尾附近的某些数据,并更改启动附近的某些信息.我希望两个单独的写入要么成功要么都失败,否则它将处于不确定状态并且实际上已损坏.在.NET或一般情况下,是否有针对此场景的内置支持?
如果不是那么如何解决这个问题?Windows上的数据库如何解决此问题?
更新:我不想使用事务性NTFS功能,因为它在旧版本的Windows(如XP)上不可用,并且在文件覆盖方案中速度很慢,如上所述.
c# ×4
wpf ×4
windows ×2
.net ×1
azure ×1
data-binding ×1
dialog ×1
file ×1
generics ×1
installation ×1
itemtemplate ×1
lambda ×1
localization ×1
silverlight ×1
transactions ×1
winforms ×1