小编Osc*_*ron的帖子

C#Reflection:使用字符串类名实例化对象

我的情况是下一个:我正在使用Visual C#2010 express开发Windows Forms应用程序.当用户登录时,以动态方式构建一个menustrip,其中包含从数据库表中加载的选项.在该表中,我保存了id,选项名称和表单名称.

所以,假设在我的项目中我有一个名为Contabilidad的Form,它有一个主类的Contabilidad.cs,所以如果我想创建一个新表单并显示它我这样做:

Contabilidad frmConta = new Contabilidad();
frmConta.Show();
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,因为菜单选项存储在数据库中,所以在数据库中我只有字符串"Contabilidad".所以,我想使用C#reflection来创建一个Contabilidad实例或任何其他只有字符串格式的类名的表单.

首先我试过这个:

Form frmConta= (Form)Activator.CreateInstance(null, "Contabilidad").Unwrap();
Run Code Online (Sandbox Code Playgroud)

因为我在StackOverflow问题中读到如果我使用null我指的是当前程序集(我的表单都在同一个项目中),但我收到此消息:

Could not load type 'Contabilidad' from assembly 'AccountingSA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Run Code Online (Sandbox Code Playgroud)

类定义是下一个:

namespace AccountingSA {
public partial class Contabilidad : Form
{
    public Contabilidad()
    {
        InitializeComponent();
    } ...
Run Code Online (Sandbox Code Playgroud)

我试过这个:

Assembly assembly = Assembly.Load("AccountingSA");
Type t = assembly.GetType("Contabilidad");
Form frmConta = (Form)Activator.CreateInstance(t);
Run Code Online (Sandbox Code Playgroud)

但是我收到带有此消息的ArgumentNullException:

Value cannot be null. Parameter name: type
Run Code Online (Sandbox Code Playgroud)

因为t变量为null.

我做错了什么?提前致谢.

c# reflection

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

使用f:convertNumber时设置小数点分隔符

我想知道如何在我的JSF应用程序上设置默认的小数点分隔符.我有一些<h:inputText>我需要格式化为钱,有2位小数.现在默认使用的小数分隔符是逗号,,当我在保存时执行某些操作时,这会给我一个错误.我不知道每次使用<f:convertNumber>标签时是否可以设置小数点分隔符.

我试着用这个:

<f:convertNumber pattern="########0.00" groupingUsed="false" />
Run Code Online (Sandbox Code Playgroud)

但它仍然将逗号设置为小数点分隔符.

jsf numbers decimal converter separator

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

如果URL具有特定参数,则排除Oracle SSO URL正则表达式

目前,我们已在我们的Web应用程序中启用了SSO并且运行良好.但是,当用户在SSO中配置而不是在我们的Web应用程序中时,我们正在进行重定向循环.

我们注意到,当发生这种情况时,webapp会调用这样的URL:

/login.jsp?errormsg=The+User%3A+SOMEUSER+doesn%27t+exist
Run Code Online (Sandbox Code Playgroud)

我的强制网址配置是下一个:

com.sun.identity.agents.config.notenforced.uri[0] = /
com.sun.identity.agents.config.notenforced.uri[1] = /-*-.jsp
com.sun.identity.agents.config.notenforced.uri[2] = /-*-.jsp*
com.sun.identity.agents.config.notenforced.uri[3] = /-*-.jsp?*
...
com.sun.identity.agents.config.notenforced.uri.invert = true
Run Code Online (Sandbox Code Playgroud)

我通过SSO强制执行所有jsps验证.但是,我想要做的是定义一个URI,如:

  • 如果正在调用.jsp,但它没有errormsg参数,则通过SSO验证会话;
  • 但是如果正在调用.jsp并且URL中有errormsg参数,请不要验证它,让它继续.

问题是,我可以在SSO URI上使用正则表达式吗?因为那些模式

/-*-.jsp

据我所知,不是正则表达式.

我该如何创建该过滤器?

java regex jsp single-sign-on

7
推荐指数
1
解决办法
123
查看次数

如何获取用户的当前位置?

我正在设置一张地图,该地图将使商店位置更接近用户的当前位置。但我无法做到这一点。我浏览了文档,但找不到任何对我的问题有帮助的信息。我想要什么 如果我单击“查找位置”,它应该会显示离我较近的商店。

我已经尝试过放置静态经度和纬度,并且效果很好。我希望它是动态的。

mapboxgl.accessToken = 'THE_ACCESS_TOKEN';

// This adds the map to your page

var map = new mapboxgl.Map({
// container id specified in the HTML
  container: 'map',

   // style URL
  style: 'mapbox://styles/mapbox/light-v10',

 // initial position in [lon, lat] format
  center: [78.3430302, 17.449968],

 // initial zoom

 zoom: 14
});
Run Code Online (Sandbox Code Playgroud)

在中心,我想要动态的经度和纬度值(当前位置)。这样它就会向我显示离我所在位置更近的商店。

javascript api mapbox mapbox-gl mapbox-gl-js

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