小编Phi*_*ght的帖子

C#编译器编号文字

有谁知道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?我试着谷歌搜索但找不到任何东西.也许我的术语是错误的,这就解释了为什么我的空白.任何帮助非常感谢.

c# compiler-construction

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

首先学习Silverlight或WPF?

似乎Silverlight/WPF是使用.NET进行用户界面开发的长期未来.这很棒,因为我可以看到在客户端和Web开发方面重用XAML技能的优势.但是看看WPF/XAML/Silverlight它们看起来是非常大的技术,那么哪里是最佳起点?

我想听听任何对这两者都有很好了解的人,并且可以推荐哪一个更好的起点和原因.

silverlight wpf

23
推荐指数
4
解决办法
3739
查看次数

Azure表或SQL Azure?

我正处于Web应用程序的规划阶段,该应用程序将在Azure中托管,其中包含用于Web站点的ASP.NET和用于丰富用户体验的Silverlight.我应该使用Azure Tables还是SQL Azure来存储我的应用程序数据?

azure azure-table-storage azure-sql-database

23
推荐指数
3
解决办法
4493
查看次数

如何在安装项目结束时运行可执行文件?

我有一个Visual Studio安装项目,我用它来安装一个相当简单的WinForms应用程序.在安装结束时,我有一个自定义用户界面页面,显示一个复选框,询问用户是否要运行该应用程序.我见过其他安装人员经常这样做.但是在安装完成后,我找不到让安装项目运行可执行文件的方法.一个想法?

注意:您不能使用自定义操作,因为这些操作是安装过程的一部分,我想在用户按下安装结束时的"关闭"按钮后运行我安装的应用程序.

installation winforms

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

你可以访问像'取消'这样的标准Windows字符串吗?

我正在构建一个Windows对话框,其中包含标准的"确定"和"取消"按钮.鉴于Windows在其自己的对话框中使用相同的按钮文本,我是否有办法获取要在按钮上使用的正确字符串?

这样,无论使用哪种语言,我的应用程序都将拥有正确的字符串,而无需我自己将其本地化为许多不同的语言.我正在使用C#,但如果需要,可以愉快地使用平台调用来访问OS方法.

注意:是的,我可以轻松地本地化资源,但我不想找到并且必须在已经存在于Windows中时输入数以万计的不同语言字符串.请不要回答说本地化应用程序!

c# windows localization dialog

16
推荐指数
1
解决办法
2604
查看次数

WPF DataBinding具有简单的算术运算?

我想在传入的绑定整数上添加一个常量值.事实上,我有几个地方,我想绑定到相同的源值,但添加不同的常量.所以理想的解决方案就是这样......

<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专家都有任何想法?

data-binding wpf

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

WPF列表中每个项目的不同项目模板?

我在列表控件中有很多项.我希望每个项目都有不同的项目模板,具体取决于项目的类型.因此列表中的第一项是ObjectA类型,因此我希望它使用ItemTemplateA进行渲染.第二项是ObjectB类型,所以我希望它有ItemTemplateB进行渲染.目前我只能使用ItemTemplate设置为它们定义一个模板.有没有办法实现这个目标?

wpf itemtemplate

14
推荐指数
2
解决办法
1万
查看次数

如果直到运行时才知道类型,如何创建Expression.Lambda?

最好使用代码解释.我有一个泛型类,它有一个返回整数的方法.这是一个简单的版本,用于解释......

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)

c# generics lambda expression-trees

14
推荐指数
1
解决办法
1万
查看次数

有人使用WPF进行真正的LOB应用吗?

有人使用WPF进行真正的LOB应用吗?

我们都看到了WPF的巧妙演示,展示了映射到3D元素的视频.这些看起来很棒,但是构成大多数开发人员工作的业务线应用程序的真实世界呢.WPF只是为了好眼睛糖果吗?

.net wpf

13
推荐指数
2
解决办法
7046
查看次数

在C#和Windows中编写事务性文件?

我有一个数据文件,有时我需要写一个文件的更改.变更包括在多个地方更改信息.例如,更改文件末尾附近的某些数据,并更改启动附近的某些信息.我希望两个单独的写入要么成功要么都失败,否则它将处于不确定状态并且实际上已损坏.在.NET或一般情况下,是否有针对此场景的内置支持?

如果不是那么如何解决这个问题?Windows上的数据库如何解决此问题?

更新:我不想使用事务性NTFS功能,因为它在旧版本的Windows(如XP)上不可用,并且在文件覆盖方案中速度很慢,如上所述.

c# windows transactions file

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