小编Pat*_*nch的帖子

重载泛型方法

当调用用于存储对象的泛型方法时,偶尔需要以不同方式处理特定类型.我知道你不能基于约束重载,但任何其他替代方案似乎都存在自己的问题.

public bool Save<T>(T entity) where T : class
{ ... some storage logic ... }
Run Code Online (Sandbox Code Playgroud)

我喜欢做的事情如下:

public bool Save<SpecificClass>(T entity)
{ ... special logic ... }
Run Code Online (Sandbox Code Playgroud)

在过去,我们的团队已经创建了"一次性"方法来保存这些类,如下所示:

public bool SaveSpecificClass(SpecificClass sc)
{ ... special logic ... }
Run Code Online (Sandbox Code Playgroud)

但是,如果您不知道该函数存在,并且您尝试使用泛型(保存),那么您可能遇到一系列问题,即"一次性"应该修复.如果一个新的开发人员出现,看到通用的问题,并决定他将用他自己的一次性功能来解决它,这可能会变得更糟.

所以...

解决这个看似常见的问题有哪些选择?

我已经看过了,并且使用了UnitOfWork,现在它似乎是实际解决问题的唯一选择 - 但似乎是用大锤攻击苍蝇.

c# generics overloading

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

共享模块无法立即使用 - Angular 13

我读过其他答案,但没有成功地使用 Angular 13 实现联合模块。我总是收到“共享模块不可用于急切消费”的消息。

长话短说:

  1. 仔细检查自定义 Webpack 配置中的公共路径 - 它可能缺少/WebPack 可能错误地报告为“无法急切使用”的尾随。
  2. 检查路由 - 您的 MFE/远程模块将在主机模块路由之后接收子路由(因此,如果您的主机在点击路由“登录”时路由到 MFE,则您的 MFE 将不会获得“登录”路径,它将获取一个空路径(请参阅下面的更新 2)。
  3. 可能需要(也可能不需要)引导(下面的更新 1)。

主机应用程序 webpack.config.ts:

export const webpackConfig: Configuration = {
  output: {
    publicPath: 'http://localhost:4200',
    uniqueName: 'host',
  },
  plugins: {
    new container.ModuleFederationPlugin({
      name: "host",
      remotes: {
        "remote-login": "login@http://localhost:4201/remoteEntry.js"
      }
      shared: [
        "@angular/core",
        "@angular/common",
        "@angular/router",
        "@angular/common/http",
      ]
    })
  ]
}

export default webpackConfig;
Run Code Online (Sandbox Code Playgroud)

远程应用程序:

export const webpackConfig: Configuration = {
  output: {
    publicPath: 'http://localhost:4201',
  },
  optimization: { …
Run Code Online (Sandbox Code Playgroud)

webpack angular

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

webpack打包自定义库时生成[hash].worker.js文件

我正在尝试创建一个可重用的 React 组件库供我们内部使用。

Webpack 正在捆绑输出 - 这应该是单个文件。但它实际上发布了我期望的 bundle.js一个名为 [some_hash].worker.js 的文件。

我不确定如何强制 webpack 将“worker”文件包含在我要求的单个包中。

webpack.config:

const path = require('path');
const webpack = require('webpack');

const DIST_PATH = path.resolve(__dirname, "../dist");
const SRC_PATH = path.resolve(__dirname, "../src");
const APP_PATH = path.resolve(__dirname, "../src/index.js");
const BASE_PATH = path.resolve(__dirname);
const { CleanWebpackPlugin } = require('clean-webpack-plugin');

module.exports = ({ appPath = APP_PATH, distPath = DIST_PATH }) => ({
  context: BASE_PATH,
  devServer: {
    contentBase: distPath,
    compress: true,
    port: 9000,
    historyApiFallback: true
  },
  resolve: {
    modules: ['node_modules', …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack react-component

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

安装多个版本的 React 的 NPM 7 工作区

我们有一个 mono-repo,我正在将其迁移到 npm 7 的工作区。

当前文件夹组织:

\React
  - package.json (defines workspaces for \apps and \packages)
  \apps
    \someApp
      - React 17.0.1 (Dependency)
    \otherApp
  \packages
    \component-library
      - React 16.14.0 || 17.0.0 (Peer)
      - Storybook (6.1)
      - Storybook MUI Add On
    \framework
      - React 16.14.0 || 17.0.0 (Peer)

Run Code Online (Sandbox Code Playgroud)

npm ci在 React 文件夹中运行会在 \React\node_modules 中安装 React 16.14,在 \React\apps\someApp\node_modules 中安装 17.0.0。当尝试运行该应用程序时,由于安装了多个版本,我们收到了预期的挂钩错误。但我找不到任何明确需要 React 16.14 的东西?

npm reactjs npm-workspaces

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

使用react-navigation抽屉在iOS上反应Native崩溃

我只在iOS上收到错误:

TypeError: undefined is not an object (evaluating 'this._callListeners.bind')

This error is located at:
  in DrawerLayout (at DrawerView.js:161)
  ...
Run Code Online (Sandbox Code Playgroud)

项目依赖项:

"dependencies": {
    "@babel/runtime": "7.2.0",
    "@babel/plugin-proposal-async-generator-functions": "7.2.0",
    "@babel/plugin-proposal-class-properties": "7.2.1",
    "@babel/plugin-proposal-object-rest-spread": "7.2.0",
    "babel-preset-expo": "5.0.0",
    "expo": "31.0.2",
    "expo-cli": "2.5.0",
    "native-base": "2.8.1",
    "react": "16.6.3",
    "react-native": "0.57.8",
    "react-redux": "6.0.0",
    "react-navigation": "3.0.8",
    "react-native-vector-icons": "6.1.0",
    "redux": "4.0.1"
  }
Run Code Online (Sandbox Code Playgroud)

这开始于我开始使用反应导航; 但在Android上运行正常.

这是我们使用react-navigation的代码,这是导入包括Home和Settings屏幕的主要应用程序:

//imports...

const routes = {
  Home: Home,
  Settings: Settings
};

const AppNavigator = createDrawerNavigator(routes);

const AppContainer = createAppContainer(AppNavigator);

export default class App extends React.Component {
  state …
Run Code Online (Sandbox Code Playgroud)

android ios react-native react-navigation

5
推荐指数
1
解决办法
763
查看次数

在web.config中指定链接的sql server

如何设置链接服务器MVC3 Web.Config

我们有一个链接服务器,它有一个SP_PROC我们需要运行的存储过程.但是,主SQL服务器TESTSERVER1和链接服务器都是在测试环境中设置的TESTSERVER2,因此名称/ ip将在应用程序上线后更改.因此,我不想SP在代码中指定任何名称以外的内容.

我已经尝试在连接字符串的初始目录字段中指定链接服务器,但是这会抛出错误 - 所以我假设我正在咆哮错误的树.

连接字符串示例:

<add name="connectionName" connectionString="data source=TESTSERVER1;Initial Catalog=TESTSERVER2;user id.../>
Run Code Online (Sandbox Code Playgroud)

c# sql connection-string linked-server

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