小编Tri*_*gen的帖子

Xamarin.Android - 本机代码编译是否会使逆向工程变得更难?

我们正在考虑将我们的C#.NET应用程序移植到Android,我已经开始阅读有关Xamarin.Android和Mono框架的内容.我刚刚开始Android开发.

我在主要的http://xamarin.com/android页面上注意到它指出:

本机代码 高性能编译代码,可完全访问所有本机API.

这是否意味着生成的代码将是更难以进行逆向工程的本机代码?我们希望创建一个包含我们的关键算法的类库,如果我们可以将它编译为本机代码以阻碍逆向工程,那么这将使我们不那么害怕移植.

我已经阅读了其他一些关于Android代码的帖子,而不是比模糊的.net程序集更难反编译(使用ProGuard之后).本机代码编译是在这些帖子之后出现的最新功能吗?谢谢你的建议!

c# mono android xamarin.android xamarin

8
推荐指数
1
解决办法
7200
查看次数

在WPF扩展器控件的右端放置一个图标

嗨我正在尝试在设置复选框时在WPF Expander控件的右端放置一个绿色勾号图标.我的代码目前是:

<Expander x:Name="ImageExpander">
    <Expander.Header>
        <Grid Width="450">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Label Padding="0">My Header Text</Label>
            <Image Grid.Column="1" Margin="0"
                   Source="C:\...\GreenTick.png" Width="18" />
        </Grid>
    </Expander.Header>
</Expander>
Run Code Online (Sandbox Code Playgroud)

我使用网格将图标放在扩展器的右上角.这将标题文本放在旋转旁边的常用位置以扩展扩展器.它还在扩展器的右端附近放置了一个450像素的图标.

我希望它没有硬编码,这样无论扩展器有多宽,图标都会保留在右上角.任何人都可以建议如何做到这一点?

我尝试将expandder.header的宽度绑定到扩展器的宽度而没有运气.

谢谢你的建议!

wpf icons header expander

6
推荐指数
1
解决办法
9907
查看次数

可以为Nullable的数据库属性,但texbox在删除内容时仍显示红色边框

您好我将WPF文本框绑定到Entity Framework属性,如下所示:

<TextBox Grid.Column="1" Grid.Row="0" Margin="5,2" 
         Text="{Binding Path=MyEntityObject.SizeLower, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)

它与属性绑定很好,当我更改它时,它会按预期保存到数据库.但是,如果我删除文本框的内容,我会得到它周围的红色错误边框.我没有任何验证器,所以我猜测texbox抱怨价值不可空.但实际上DB中的这个属性是可以为空的,所以我无法理解它为什么会出错.

系统生成的EF属性定义如下:

<EdmScalarPropertyAttribute(EntityKeyProperty:=false, IsNullable:=true)>
<DataMemberAttribute()>
Public Property SizeLower() As Nullable(Of Global.System.Int64)
    Get
        Return _SizeLower
    End Get
    Set
        OnSizeLowerChanging(value)
        ReportPropertyChanging("SizeLower")
        _SizeLower = StructuralObject.SetValidValue(value)
        ReportPropertyChanged("SizeLower")
        OnSizeLowerChanged()
    End Set
End Property

Private _SizeLower As Nullable(Of Global.System.Int64)
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?我认为绑定系统能够确定属性是否可以为空并且如果允许则允许空值?

如何查看错误是什么?徘徊似乎没有做到这一点.

谢谢你的建议.

===================================附加信息

如果我选择全部并删除,然后更改焦点,则会出现验证框.这是前后的一个屏幕截图.此外,我已经确认我可以手动将NULL添加到数据库中以获取绑定属性,这样就不会出现问题.

拒绝.试图把图片放在这里,但我没有10分......!这是一个非现场链接:点击这里

validation wpf binding entity-framework-4

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

C#转VB问题

嗨,我正在尝试将一些代码从C#转换为VB,但由于我缺乏对C#(或者VB)的了解,我遇到了一些问题.我希望有更多技能的人可以帮我.

我使用的转换工具在这里: http://www.developerfusion.com/tools/convert/csharp-to-vb/ 将一些代码在这里找到: http://www.urmanet.ch/?p=11

该代码旨在制作EF实体的深层副本.

在第87行更正&&后,转换完成正常.稍后进行了一些导入并修复了一些简单的错误,我无法解决的其余错误如下:

1:这条线

<System.Runtime.CompilerServices.Extension()> _
    Public Shared Function Clone(entityObject As EntityObject) As EntityObject
Run Code Online (Sandbox Code Playgroud)

标记为扩展方法只能在模块中定义.它在一个类中定义,但我认为这在C#中工作,那么为什么我会在VB中得到这个错误?

2:有很多这样的行:

For Each [property] As var In properties
Run Code Online (Sandbox Code Playgroud)

其中'as var'部分被标记为未定义; 我不完全确定'as var'意味着什么,我可以删除它并允许编译器推断出类型吗?

3:这行代码中有错误:

Dim t = GetType(EntityCollection(Of )).MakeGenericType(New () {[property].PropertyType.GetGenericArguments()(0)})
Run Code Online (Sandbox Code Playgroud)

在'''之后有一个波浪形,表示预期类型,我不知道该怎么做这条线,因此如何修复它,有人能够澄清一下吗?

4:这条线

Private Shared ReadOnly _tracking As New List()
Run Code Online (Sandbox Code Playgroud)

告诉我System.Collections.Generic.List(Of T)的类型参数太少.这是因为C#和VB之间存在一些差异吗?

非常感谢任何建议.

c# vb.net c#-to-vb.net

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

两个类似的javascript函数,一个工作,另一个不工作,为什么?

我是一个Javascript初学者,我试图让一些简单的代码工作.我添加了一个片段作为检查,以确保Javascript在页面中正常工作.它只是将一些文本从蓝色变为红色.

第二段代码应该隐藏a <div>,或根据所选值显示它.有人指出我正确的方向是行不通的吗?谢谢你的建议.

<!DOCTYPE html>
<html>
<head>
  <title>getElementById example</title>
  <script>
  function changeColor(newColor) {
    var elem = document.getElementById("para1");
    elem.style.color = newColor;
  }
  </script>

  <script>
       // EXPAND
    function Hide(elementid){
        document.getElementById(elementid).style.display = 'none';
    }

    function Show(elementid){
        document.getElementById(elementid).style.display = '';
    }
  </script>

</head>
    <body>
        <p id="para1">Some text here</p>
        <button onclick="changeColor('blue');">blue</button>
        <button onclick="changeColor('red');">red</button>

        <div id="one">ONE</div>
        <div id="two">TWO</div>

        <select>
            <Option value="javascript:Show('one');javascript:Hide('two')">one</option> 
            <Option value="javascript:Hide('one');javascript:Show('two')">two</option>
        </select>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript css

0
推荐指数
1
解决办法
112
查看次数